• Post Reply Bookmark Topic Watch Topic
  • New Topic

Part of Composite-Id is foreign Key:How specify in Mapping?  RSS feed

Sandeep Vaid
Ranch Hand
Posts: 392
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have 2 classes viz. Product and ProductBasic having one-to-one relationship

class Product{
String productId;
ProductBasic productBasic;

class ProductBasic{
String productId;
String useCode;
TimeStamp startTime;

Product product;

Product is mapped to a table PRODUCT which has PRODUCTID as PK.
ProductBasic is mapped to a table PRODUCTBASIC which has PRODUCTID,USECODE and STARTTTIME as composite key.
Also PRODUCTID (of PRODUCTBASIC table) is the foreign key referencing PRODUCT table...

How can i define my one-to-one mapping considering ProductBasic.productId should get its value from Product.productId ?

<key-property name="productId" column="PRODUCTID" type="string" length="10" />
<key-property name="useCode" column="USECODE" type="string" length="10" />
<key-property name="startTime" column="STARTTIME" />

In this only productId is the foreign key..

I am aware that i can use a <generator> tag (with class="foreign") inside <composite-id> but i guess it will generate the
value for entire composite-id and not just a field of it.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!