Es gibt zwei Arten von Abfrageparametern, die in der Hibernate-Abfrage gebunden werden. Der eine ist ein positionierter Parameter und der andere ein benannter Parameter.
Kann ich diese beiden Parameter in einer Abfrage verwenden?
Es gibt zwei Arten von Abfrageparametern, die in der Hibernate-Abfrage gebunden werden. Der eine ist ein positionierter Parameter und der andere ein benannter Parameter.
Kann ich diese beiden Parameter in einer Abfrage verwenden?
Natürlich können Sie das, solange Sie sicherstellen, dass alle Positionsparameter vor den benannten Parametern stehen. Hier ein Beispiel:
Query q =session.createQuery("select u from User u where u.location=? and u.id in (:user_ids)");
q.setParameter(0, location);
q.setParameterList("user_ids", userIds);
return q.list();
I Don't think so, wenn Sie es versuchen, hibernate Sie geben Sie die folgende Fehlermeldung:
org.hibernate.hql.ast.QuerySyntaxException: cannot define positional parameter after any named parameters have been defined
Warum sollten Sie das tun wollen?
Edit: Jeshurun bietet eine viel bessere Lösung. Bitte lesen Sie seine Antwort unten.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.