two tables subconsultas left java hibernate hql

java - tables - Hibernate HQL Query: ¿cómo establecer una colección como un parámetro nombrado de una consulta?



hql like (3)

En TorpedoQuery se ve así

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

Dada la siguiente consulta HQL:

FROM Foo WHERE Id = :id AND Bar IN (:barList)

Establecí :id utilizando el método setInteger() del objeto Query.

Me gustaría establecer :barList usando una List de objetos, pero mirando la documentación de Hibernate y la lista de métodos no puedo ver una opción obvia de usar. ¿Algunas ideas?


No estoy seguro acerca de HQL, pero en JPA solo llama a setParameter la consulta con el parámetro y la colección.

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

donde names es la colección de nombres que estás buscando

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


Utilice Query.setParameterList() , Javadoc aquí .

Hay cuatro variantes para elegir.