2013-02-06 6 views
6

Ich habe folgende (vereinfachte) Situation:org.hibernate.MappingException: Wiederholte Spalte in Zuordnung zur Sammlung unter Verwendung @JoinTable

Felder für eine Tabelle:

  • ID
  • COMMONID

Felder für TABELLE AB:

  • AID
  • BID COMMONID

Felder für Tabelle B:

  • ID
  • COMMONID

und wollen es mit Entitäten abzubilden ein OneToMany wie folgt aus (in der Masterklasse, die in Tabelle A) abgebildet ist:

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = false, fetch = FetchType.LAZY) 
@JoinTable(name = "AB", 
joinColumns= { 
    @JoinColumn(name = "AID", referencedColumnName="ID"), 
    @JoinColumn(name = "COMMONID", referencedColumnName="COMMONID")}, 
inverseJoinColumns = { 
    @JoinColumn(name = "BID", referencedColumnName="ID"), 
    @JoinColumn(name = "COMMONID", referencedColumnName="COMMONID")}) 
private Set<MyClassForB> list= new HashSet<MyClassForB>(); 

Aufbau der Sitzung, erhalte ich folgende Fehlermeldung:

org.hibernate.MappingException: Repeated column in mapping for collection using @JoinTable list column: COMMONID 

Was mache ich falsch? Berücksichtigen Sie, dass ich Hibernate neu kenne.

+0

Anscheinend verwenden Sie 'COMMONID' in einem anderen Mapping. –

Antwort

0

Versuchen einführbar, hinzuzufügen und wie diese

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = false, fetch = FetchType.LAZY) 
@JoinTable(name = "AB", 
joinColumns= { 
    @JoinColumn(name = "AID", referencedColumnName="ID", insertable = false, updatable = false), 
    @JoinColumn(name = "COMMONID", referencedColumnName="COMMONID", insertable = false, updatable = false)}, 
inverseJoinColumns = { 
    @JoinColumn(name = "BID", referencedColumnName="ID", insertable = false, updatable = false), 
    @JoinColumn(name = "COMMONID", referencedColumnName="COMMONID", insertable = false, updatable = false)}) 
private Set<MyClassForB> list= new HashSet<MyClassForB>(); 

aktualisierbar Aber ich bin nicht sicher, ob Sie in der Lage dieses Set zu aktualisieren, wurde mein Anwendungsfall nur gelesen werden.

Verwandte Themen