Hibernate @ManyToMany mapping mit zusammengesetzten Schlüsseln
Ich versuche, die Karte eine ManyToMany-Beziehungen zwischen 2 Tabellen, die beide mit composite primary keys
LSFOCTB which primary key is composed of : LSFOC_CODSOC,LSFOC_CODLSC,LSFOC_CODFOC
LSFORTB which primary key is composed of : LSFOR_CODSOC,LSFOR_CODLSC,LSFOC_CODFOR
The table in charge of the ManyToMany relationship is :
LSFCFTB, with : LSFCF_CODSOC,LSFCF_CODLSC,LSFCF_CODFOC,LSFCF_CODFOR
So, in der hibernate-mapping-Modell LSFOCTB habe ich versucht :
@ManyToMany(targetEntity = package.LSFOCTB.class, cascade = { CascadeType.PERSIST,
CascadeType.MERGE })
@JoinTable(name = "LSFCFTB", joinColumns = {
@JoinColumn(name = "LSFCF_CODLSC", referencedColumnName = "LSFOC_CODLSC"),
@JoinColumn(name = "LSFCF_CODFOC", referencedColumnName = "LSFOC_CODFOC"),
@JoinColumn(name = "LSFCF_CODSOC", referencedColumnName = "LSFOC_CODSOC") },
inverseJoinColumns = { @JoinColumn(name = "LSFCF_CODLSC", referencedColumnName = "LSFOR_CODLSC"),
@JoinColumn(name = "LSFCF_CODFOR", referencedColumnName = "LSFOR_CODFOR"),
@JoinColumn(name = "LSFCF_CODSOC", referencedColumnName = "LSFOR_CODSOC") })
bevor der getter.
Aber es funktioniert nicht...
Die Fehlermeldung, wenn Sie versuchen, Zugriff auf die entfernte Sammlung ist :
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [beans-dao.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: Repeated column in mapping for collection: package.LSFOCTB.distantCollection column: LSFCF_CODLSC
Haben es schon geschafft, zu machen, eine hibernate-mapping-Arbeit für eine ManyToMany Beziehung ?
Wenn ja, was ist Los mit meinem mapping ?
Danke für Eure Hilfe !
Ich habe auf der Suche nach info auf den folgenden Seiten : hibernate.org/hib_docs/annotations/reference/en/html/... Kapitel : 2.2.5.3.3. Viele-zu-viele-und auch : saloon.javaranch.com/cgi-bin/ubb/...
InformationsquelleAutor Anthony Dahanne | 2008-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem scheint zu sein, dass Sie erstellen Sie einen join der Tabelle mit 6 Spalten und die gibt es doppelte Namen für Ihre Spalten. Sie erstellen, 2 Spalten mit dem Namen LSFCF_CODLSC und 2 Spalten mit der Bezeichnung LSFCF_CODFOR und 2 Spalten mit der Bezeichnung LSFCF_CODSOC.
Ich würde vorschlagen, dass Sie versuchen, diese:
oder etwas ähnliches (nach Ihren naming convention) zu jeder Spalte einen eindeutigen Namen.
InformationsquelleAutor Vincent Ramdhanie