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 <[EMAIL PROTECTED]> wrote:
> Can you explain more how the model is in Java, and in the database?
>
> Larry
>
>
> On 9/19/05, Dan Bradley <[EMAIL PROTECTED]> 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.
>