Hi alle ihr draussen!
Also mir aucht schon seit einigen Tagen der Kopf, weil ich einfach nicht auf eine vernünftige Lösung komme.
Hab auch schon die Suche bemüht, doch leider werd ich nicht viel schlauer, obwohl hier wohl einige dasselbe problem haben wie ich.
Habe schonr ausgefunden, das es am wohl am besten ist, ein Bag zu verwenden, doch nun erst zu meinem Problem.
Ich habe schon alles versucht eine String Liste zu mappen:
Code:
class Characteristic
{
String key;
Set<String> values;
}
Ich habe versucht die Liste der Values mit einem HashSet als CollectionOfElements zu mappen, doch hatte später Probleme bei der HSQL Abfrage (ich will alle Characteristicen, die einen bestimmten Wert enthalten):
Code:
select c from Characteristic where :value in element(c.values), "value", value
er lieferte mir kein Ergebnis zurück obwohl sicher ein Satz in der DB vorhanden ist!
Danach probiert als Liste zu mappen, und auch als Entity und nicht als CollectionOfElement, doch irgendwie meckert hibernate, weil die Klasse String nicht gemappt ist!
Muss ich da wirkliche eine eigene Entity Klasse definieren? genau das will ich ja vermeiden!
(noch eine Sache nebenbei, ich will das später in JSF darstellen, und da dies z.B. keine Sets unterstützt, sollte ich das auch beachten!)
Gibt es da keine best practice methode wie man so etwas implementiert?
Bin wirklich mit meinem Latein am Ende...
mein Mapping(im Moment), arbeite mit Annotations:
Code:
@CollectionOfElements
@JoinTable(name="characteristic_values",
joinColumns = @JoinColumn(name="characteristic_fk"))
@Column(name="value")
public Set<String> getValues() {
return values;
}
Irgendwie hat mir das hier auch nicht weiter geholfen:
https://forums.hibernate.org/viewtopic. ... 3#p2406841Wäre wirklich sehr dankbar für eine Lösung, denn ich sitze nun schon wirklich lange an dieser, ich glaube nämlich eigentlich sehr simplen implementierung!
Danke und Bye