2009-02-20 10 views

Antwort

89

Verwenden Query.setParameterList(), Javadoc here.

Es gibt vier Varianten zur Auswahl.

+0

Danke für den Hinweis! Das habe ich beim Betrachten des JavaDoc komplett übersehen. – karlgrz

+2

D: Oh nein, defekter Link (... typisch für die JBoss-Dokumentation) –

+2

Das funktioniert nur, wenn Sie ein Hibernate-Query-Objekt verwenden, aber nicht funktionieren, wenn Sie 'javax.persistence.Query' importieren. Nur meine zwei Cent. –

30

Ich bin nicht sicher über HQL, aber in JPA rufen Sie einfach die Abfrage setParameter mit dem Parameter und der Sammlung.

Query q = entityManager.createQuery("SELECT p FROM Peron p WHERE name IN (:names)"); 
q.setParameter("names", names); 

wo names ist die Sammlung von Namen für

Sie suchen
Collection<String> names = new ArrayList<String(); 
names.add("Joe"); 
names.add("Jane"); 
names.add("Bob"); 
1

In TorpedoQuery es so aussehen

Entity from = from(Entity.class); 
where(from.getCode()).in("Joe", "Bob"); 
Query<Entity> select = select(from); 
+5

Wie beantwortet das die Frage? Bitte poste keine Links zu deinem Projekt, wenn sie das Problem nicht direkt ansprechen. – Mat

+1

Es generiert eine HQL-Abfrage mit einer In-Bedingung – xjodoin

Verwandte Themen