ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Volker_Reichel@t-online.de" <volker_reic...@t-online.de>
Subject AW: Mapping Composition (aka composite property, aka value objects)
Date Tue, 20 Sep 2005 15:36:22 GMT
If iBATIS is doing these steps

	Product product = new Product();

the Product constructor has to create a Price instance as side-effect.
My question is: What do you do in case the Product does not need to have a
related Price instance for each Product?


-----Urspr√ľngliche Nachricht-----
Von: Dan Bradley [mailto:debradley@gmail.com]
Gesendet: Montag, 19. September 2005 22:11
An: lmeadors@apache.org
Cc: user-java@ibatis.apache.org
Betreff: Re: Mapping Composition (aka composite property, aka value

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" />

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();
Product product = new Product();

But instead does:

Product product = new Product();

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.

View raw message