Wie verwende ich die Methode setParameterList () in Hibernate?

8

Ich habe die Anforderung, ausgewählte Zeilen aus der Oracle-Datenbank basierend auf ids , die als Array bereitgestellt wurden, abzurufen, ähnlich wie die Abfrage SELECT ... FROM table_name WHERE id IN() .

Bei meinen Versuchen versuche ich, org.hibernate.setParameterList(String name, Object[] values) Methode in meinem DAO wie folgt.

%Vor%

Der Parameter vom Typ String[] in der angegebenen Methode wird von der jeweiligen Spring-Controller-Klasse geliefert.

Es verursacht die folgende Ausnahme ausgelöst.

  

org.hibernate.hql.ast.QuerySyntaxException: unerwartetes Token:, near   Zeile 1, Spalte 78 [prodImageId, prodImage auswählen aus   model.ProductImage wobei prodImageId =: id0_,: id1_,: id2_,: id3_,   : id4_,: id5 _]

Wie können die ausgewählten Zeilen basierend auf der Liste von ids mit Hibernate abgerufen werden?

    
Tiny 12.01.2013, 17:59
quelle

2 Antworten

20
%Vor%

Angenommen, accountFilter ist ein Objekt List . Beachten Sie, dass Sie keine leeren Listen übergeben sollten, da dies zu folgendem SQL führen würde (was nicht funktionieren wird): ... WHERE xyz IN () ... (beachten Sie die leere In-Klausel).

    
user1972796 12.01.2013, 18:15
quelle
3

Das Problem, das die meisten Leute hier machen, ist, dass sie immer noch benutzen wollen,

%Vor%

statt

%Vor%

Verwenden Sie setParameterList() beim Umgang mit Listen

    
Luthoz 25.05.2015 11:47
quelle

Tags und Links