He HQL como este:

from Table1 t1 where t1.name not in (select t2.name from Table2 t2 order by t2.date limit 10)

El problema es que no entiende limit palabra clave. Es allí una manera de ejecutar la consulta, sin dividir en dos subconsultas?

OriginalEl autor serg | 2010-04-29

2 Comentarios

  1. 8

    mirar ¿Cómo se hace un límite de consultas en HQL?

    no se puede limitar a una consulta por escrito en hql con hql. Usted necesita hacer una llamada a setMaxResults en el objeto de Consulta, que supongo que le impide la aplicación de un límite en un hql subconsulta.

    Esto le deja con la opción de

    • escritura como una consulta sql o
    • tratando de encontrar otra manera de escribir su consulta hql, de modo que usted no necesita un límite en una subconsulta.
    Hay una tercera opción. Ejecutar 2 consultas HQL, donde los resultados de la 1ª serán alimentados en el 2º usando Java.
    cherouvim la solución va a llevar a la atomicidad de los problemas.

    OriginalEl autor Thierry

  2. 0

    Si usted envía la consulta como un SQLQuery y, a continuación, agregar la clase como una entidad, puede utilizar el límite, como la consulta es submittet como sql. Usted tiene que utilizar la Sintaxis de sql, aunque.

    String sql = "select * from Supplier limit 1";
    SQLQuery query = session.createSQLQuery(sql);
    query.addEntity(Supplier.class);
    List results = query.list();

    –> (también está trabajando con subselecciones)

    OriginalEl autor flyinaway

Dejar respuesta

Please enter your comment!
Please enter your name here