two tables ordenar example hibernate criteria

tables - like hibernate



Cómo devolver una entidad con columnas elegidas usando criterios (3)

Esto es exactamente para lo que son las proyecciones. Aquí hay un ejemplo:

Criteria cr = session.createCriteria(User.class) .setProjection(Projections.projectionList() .add(Projections.property("id"), "id") .add(Projections.property("Name"), "Name")) .setResultTransformer(Transformers.aliasToBean(User.class)); List<User> list = cr.list();

De hecho, si nos fijamos en la documentación de "recuperación de propiedades perezosa", dicen específicamente:

"Una forma diferente (¿mejor?) De evitar lecturas de columnas innecesarias, al menos para transacciones de solo lectura, es usar las funciones de proyección de las consultas de HQL o Criteria. Esto evita la necesidad de procesamiento de bytecode en tiempo de compilación y ciertamente es una solución preferida".

Por cierto, hay una pregunta relacionada que también le puede interesar: Hibernar consulta por ejemplo y proyecciones

Soy realmente nuevo con Hibernate. Quiero un List<User> con criterios de hibernación, pero solo con los campos Id. De usuario y nombre rellenados. ¿Es eso posible? Algo así como la consulta que se muestra a continuación:

SELECT user.id, user.name FROM user

Saludos.


Estoy demorando en responder esto, pero puede agregar un transformador de resultados personalizado al objeto Query como se muestra a continuación.

Query query = session .getNamedQuery( "someNamedQueryWhichISHQL") .setString("cod", "10") .setResultTransformer(new ResultTransformer() { public Object transformTuple(Object[] row, String[] arg1) { User usr = new User(row[0],row[1]); return usr } public List transformList(List arg0) { return arg0; } }); return query.list();