Un à de nombreuses association de Rejoindre les tables avec des colonnes de clé primaire dans la JPA

Je suis en train de travailler sur le système d'héritage, besoin de lire certaines des informations de la base de données. Ci-dessous sont la relation de table

Vendeur (vendorId - pk, vendorEid, nom)
VendorContactBridge (bridgeId -pk, vendorEid, contactEid)
Contact (contactId -pk, contactEid, téléphone)

vendorEid et contactEid ne sont pas la clé primaire de la table, mais utilisée comme colonne de jointure dans la table de Jointure VendorContactBridge.

Fournisseur De L'Entité

@Entity
@Table(name="Vendor")
public class Vendor implements Serializable{

@Id
@Column(name="VENDORID")
private BigDecimal vendorId;

@Column(name="VENDOREID")
private BigDecimal vendorEid;

@OneToMany(fetch = FetchType.EAGER)
@JoinTable(name="VENDORCONTACTBRIDGE", 
joinColumns={@JoinColumn(name="VENDOREID", referencedColumnName="VENDOREID")},
inverseJoinColumns={@JoinColumn(name="CONTACTEID", referencedColumnName="CONTACTEID")})
private Set<Contact> vendorContact;
}

Contact De L'Entité -

@Entity
@Table(name="CONTACT")
public class Contact implements Serializable{

@Id
@Column(name="CONTACTID")
private BigDecimal contactId;

@Column(name="CONTATEID")
private BigDecimal contactEId;

@ManyToOne
@JoinTable(name="VENDORCONTACTBRIDGE", 
joinColumns={@JoinColumn(name="CONTACTEID", referencedColumnName="CONTATEID")},
inverseJoinColumns={@JoinColumn(name="VENDOREID", referencedColumnName="VENDOREID")})
private Vendor vendor;
 }

lors de l'exécution de la requête, obtenir ci-dessous exception

SecondaryTable JoinColumn ne peut pas faire référence à un non de la clé primaire.

J'ai enlevé l'envie d'extraction qui j'ai donné dans le Fournisseur d'entité, je n'obtiens pas d'exception, mais il ne charge pas la collection. Quel est le problème avec de l'association ?

OriginalL'auteur Pankaj | 2012-12-14