Hallo !
Würde mich auch interessieren.
Der einzige Ausweg scheint zu sein, das ganze selber zu machen. Automatisch scheint da gar nichts zu gehen.
Es gibt zwar die Möglichkeit mit @MapKey wie in der Doku beschrieben, die mappt aber auf einen Typ, der selber erstellt werden muss.
(Also im Doku Beispiel mapped es String->Version):
Code:
@Entity
public class Software {
@OneToMany(mappedBy="software")
@MapKey(name="codeName")
public Map<String, Version> getVersions() {
return versions;
}
...
}
@Entity
@Table(name="tbl_version")
public class Version {
public String getCodeName() {...}
@ManyToOne
public Software getSoftware() { ... }
...
}
Ich habs mit einer Klasse Property gelöst, die die Eigenschaften key und value hat sowie eine Referenz auf das objekt, dass die Properties in einer Hashtable hält.
Wie gesagt, mich würde interessieren ob es nicht eine einfachere Lösung gibt, die Hibernate schon bereitstellt. Dass das nicht ohne separate Tabelle gehen kann ist klar, denn die Anzahl der Properties ist ja nicht vorhersehbar.
lg
Michael