Mapping eine map collection mit JPA-Annotationen
Hallo Jungs
Ich bin migrieren einer Anwendung mit hibernate von xml zu JPA-Annotationen.
Derzeit bin ich stecken bei der Zuordnung einer Karte von Objekten, mit Verbindung id mit Anmerkungen
Dies ist, wie die versuche, es zu tun.
class A
{
...
@OneToMany()
@JoinColumn(name="A_ID")
/* B_ID should be the key in this map */
private Map map = new HashMap();
}
class B
{
@EmbeddedId
private CompoundId id;
}
@Embeddable
class CompoundId
{
@Column(name = "A_ID")
String aId;
@Column(name = "B_ID")
long bId
}
Habe ich auch schon versucht
@OneToMany()
@JoinColumn(name="A_ID", insertable=false, updatable=false)
@MapKeyColumn(name="B_ID")
private Map map = new HashMap();
Caused by: java.sql.SQLException: ORA-00904: "B1_"."ID": invalid identifier
nicht mit Glück
mapping in XML sieht es so aus
<map name="map" inverse="true" cascade="all-delete-orphan" lazy="false">
<key>
<column name="A_ID" />
</key>
<map-key type="long" column="B_ID"/>
<one-to-many class="B" />
</map>
hibernate 3.2.7.ga und annotations 3.4.0.GA
thx!!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Geben diesem einen Versuch:
Ich könnte etwas fehlen, aber die
@MapKeyColumn
ist der wichtige Teil. Ich habe dies getan, erfolgreich vor, aber mein code ist im Büro, also kann ich nicht überprüfen, es.funktionierte, tauchte das problem zu sein, bei der Zuordnung von composite-id der B-Klasse
Cheers