I\'m working on legacy system, need to read some of the info from database. Below are the table relationship
Vendor (vendorId - pk, vendorEid, name)
VendorCont
I found a workaround for this problem.
See here:
According to the JPA 2.0 specs paragraph 11.1.21 JoinColumn annotaion on page 379
Support for referenced columns that are not primary key columns of the referenced table is optional. Applications that use such mappings will not be portable.
It seems Hibernate choose not to implement this optional part. Other implementations might. I tried it on EclipseLink but that one does not work either (it fails validation).
I see two work arounds. One is to adjust your schema to use the primary keys which would be the right thing from a database design theory perspective. However that might not be an option because of other software depending on this schema which leaves option two. Work around it by NOT moddeling the relationship in JPA just use the eid's and retrieve the relevant objects yourself.