Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

OneToOne composite key

 
nimo frey
Ranch Hand
Posts: 580
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic