# Hibernate Select auf Parameterliste



## JavaNooby (26. Jun 2012)

Hi,

Ich häng da grad an einem hibernate Problem.
Ist es in Hibernate irgendwie möglich auf eine Parameterliste ein Select zu machen?

also irgendwie so:
(Die Parameterliste wäre eine bekannte Hibernate Entity)

```
(Select id from :parameterliste).setParameterList("parameterliste",mylist).list();
```


Hintergrund:

Ich hab mir mit den Hibernate Tools meine Entityklassen aus der Datenbank genieren lassen und hab dadurch für die Primärschlüssel der verschiedenen Tabellen die "id" Klassen erhalten.
Ich möchte nun eine Liste mit bestimmten User-ids erstellen (als Beispiel einfach ne id, und ein registrierdatum). Nun möchte ich verschiedene Tabellen abfragen wo die id und das eintrittsdatum des Users enthalten ist.
Mein Problem ist dass ich nicht eine id-Klasse einer anderen Tabelle für ein where verwenden kann.

Deshalb dachte ich ich mach mir ne eigene liste und selectier davon einfach die id und das registrierdatum.

Nur scheint das in Hibernate nicht zu gehen.

Weis da jemand rat?



(Habe Hibernate 4 im Einsatz)






Thx


----------



## Templarthelast (27. Jun 2012)

Ich glaube ich habe mal was von einem bug mit der Parameterliste und JPA 1.x gehört. Ich bin mir aber nicht ganz sicher. 

Welche JPA Version benutzt du?


----------



## JavaNooby (27. Jun 2012)

mmh hab die 2.0er im Einsatz.


----------



## SlaterB (27. Jun 2012)

jeder Satz im Originalpost ist recht unklar,
z.B.
> Die Parameterliste wäre eine bekannte Hibernate Entity
enthält die Variablen nun eine Entity, also ein Objekt einer gemappten Klasse, oder ein Class-Objekt, 
oder doch eine Liste im Sinne einer Liste, was ist dann aber wiederum darin enthalten, siehe vorherigen Zeile?

grundsätzlich steht fest, dass man einen Tabellen-/ Entity-Namen für eine Query nicht als Parameter übergeben kann,
noch weniger mehrere gleichzeitig, also eine Liste, so dass verschiedene Querys ausgeführt und die Ergebnisse kombiniert werden??

baue eine Schleife über die Liste, bilde mit jedem Klassennamen eine normale Query

-----

was du abfragen willst und wovon ist unklar, sämtliche Ids der Tabellen in der DB?
so wie ich es gerade mal wieder lese, könnte ich auch interpretieren, dass du dich für die DB gar nicht interessiert,
und nur aus den Daten der Liste etwas extrahieren möchtest, dazu ist eine Hibernate-Query gänzlich ungeeignet,

freilich wäre es vielleicht schön, die HQL-Syntax für irgendwas zu nutzen, das Kommando kann man darin ja gerne formulieren,
aber die komplette Engine, die auf Java-Arbeitsspeicher-Daten zugreift, wäre dann selbst dazu zu ergänzen..


----------

