-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Mapping von String Listen ueber CollectionOfElement
PostPosted: Tue May 19, 2009 6:30 am 
Newbie

Joined: Tue May 19, 2009 6:10 am
Posts: 1
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#p2406841


Wä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


Top
 Profile  
 
 Post subject: Re: Mapping von String Listen ueber CollectionOfElement
PostPosted: Fri May 22, 2009 7:51 am 
Newbie

Joined: Sun May 08, 2005 12:26 pm
Posts: 10
Hallo, habe gerade was ganz ähnliches gemacht, da hat das geklappt!

Deine HQL-Anfrage sieht allerdings etwas seltsam aus, versuch doch mal ganz direkt

Code:
select c from Characteristic c where 'value' in elements(c.values)


(es fehlte bei Dir also das 'c' und das 's' bei 'elements')

Ansonsten - falls Du Eclipse benutzt - kann ich wirklich die Hibernate Tools empfehlen! Die bieten u.a. einen "dynamic sql preview", mit dem man sehr schnell seine HQL-Statements checken kann (Criteria-Queries auch, glaube ich, habe ich aber noch nicht ausprobiert).

Ebenfalls empfehlenswert: Die (generierten) SQL-Statements loggen (lassen)!

--dhukas


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.