aspose file tools*
The moose likes Object Relational Mapping and the fly likes OneToOne composite key Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "OneToOne composite key" Watch "OneToOne composite key" New topic
Author

OneToOne composite key

nimo frey
Ranch Hand

Joined: Jun 28, 2008
Posts: 580
I get this failure by mapping a OneToOne-Relationship:



The ProductID of table Product is a composite key which has the SAME Columns than the composite key ItemID in table Item:







This HQL works and returns the item-instance of a product:



This HQL does not work and returns the exception:







Instead of JoinColumn, I have tried it with PrimaryKeyJoinColumns (the same exception occurs):



(Another point is, when I annotate the @OneToOne above the getter instead above the field, then Hibernate totally ignores my OneToOne-Mapping and recognices the Item-Instance (or Product-Instance) as a column instead of a relationship, hence it produces false sql-selects)


I have also tried to use the PrimaryKeyJoinColumns-Relation in Class Product:



and delete the relation in Class Item
(to make the oneToOne at least unidirectional):



Doing that HQL:



returns the same failure:



Do I have to use Hibernates ForeignGenerator within my Item-Class (I have a composite key!) ?:




Please, can you say me: What is wrong with my mapping?


It is really hard to believe that such a OneToOne-Mapping with a composite key is so hard to implement by using ORM (Hibernate).
Such relationships are very common.
 
 
subject: OneToOne composite key