ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Bradley <debrad...@gmail.com>
Subject Re: Mapping Composition (aka composite property, aka value objects)
Date Mon, 19 Sep 2005 20:11:11 GMT
Of course, after being stuck on it for a while, I figured it out right
after I posted the question:

<typeAlias alias="product" type="com.foo.Product" />
<resultMap id="result" class="product">
		<result property="name" column="name" />
		<result property="description" column="description" />
		<result property="price.amount" column="amount" />
		<result property="price.currency" column="currency_code" />
	</resultMap>

It appears that the Product class must have a Price instance that is
initialized, not null. In other words it looks like iBATIS doesn't do:

Price price = new Price();
price.setAmount(amount);
Product product = new Product();
product.setPrice(price);

But instead does:

Product product = new Product();
product.getPrice().setAmount(amount);

Take this all with a grain of salt - I'm new to iBATIS!

On 9/19/05, Larry Meadors <larry.meadors@gmail.com> wrote:
> Can you explain more how the model is in Java, and in the database?
> 
> Larry
> 
> 
> On 9/19/05, Dan Bradley <debradley@gmail.com> wrote:
> > I have one entity, a Product, which holds a Price as a composed (not
> > related) entity. A Price is a numeric value and a currency code as a
> > String. Prices don't have a distinct identity in the database - they
> > are value objects, so this is not the more usual persistent entity to
> > persistent entity relationship mapping.
> >
> > How would you map this using iBATIS? I've tried a variety of things
> > without success and can't yet find any documentation that covers this
> > situation. Thanks.
>

Mime
View raw message