¿Cómo puedo escribir la consulta sql select sum(amount * direction) from transactions
en criterios de hibernación?Uso de suma() en criterios de hibernación
Respuesta
Creo que encontré la respuesta. Debe usar Projection.sqlProjection() y no Projections.sum(). Ejemplo:
.setProjection(Projections.sqlProjection("sum(cast(amount as signed)* direction) as amntDir", new String[] {"amntDir"} , new Type[] {Hibernate.DOUBLE}));
Can Desarrollas tu respuesta? -¿Cuál es su consulta inicial: createQuery ("....") -Dónde se pone el resultado? (¿en amntDir?) -¿Cómo usas el resultado? –
Proyecciones es la palabra clave para usar funciones de agregado con criterios hibnerate.
roseindia has a short example para implementar una consulta SELECT SUM(...)
. Se ve bastante cerca de tu problema.
Here's another forum topic que incluye un ejemplo de trabajo para una expresión SUM(col1 * col2)
y el cartel original tenía problemas parecidos con las excepciones antes.
Lo intenté con ".setProjection (Projections.sum ((" amount * direction ")))" pero me da una excepción "org.hibernate.QueryException: could not resolve property: amount * direction ...." – panagdu
Creo que lo que necesitas es fórmula. Algo como esto,
@Entity
@Table('TRANSACTIONS')
Class transactions {
@Column("AMOUNT")
private double amount;
@Column("DIRECTION")
private double direction;
@Formula("AMOUNT * DIRECTION")
private double multiplication;
}
Y agregue la columna de multiplicación a su lista de proyección.
- 1. recuento (*) en criterios de hibernación?
- 2. Expresiones en los criterios de hibernación
- 3. Criterios de hibernación con restricciones en niños
- 4. cuándo utilizar criterios separados en hibernación?
- 5. Criterios de Hibernación ¿Mecanismo de límite?
- 6. criterios de hibernación api join table problema
- 7. Uso de funciones de base de datos para transformar columnas en criterios de hibernación
- 8. Criterios de Hibernación en los valores de recopilación
- 9. Criterios de Hibernación: Realizar UNIR en Subconsultar/DetachedCriteria
- 10. Criterios de hibernación n + 1 problema con maxresults
- 11. Trabajar con múltiples criterios de hibernación con lógica y
- 12. filas de recuento de hibernación con algunos criterios
- 13. Criterios de Hibernación para elementos dentro de un Conjunto
- 14. Uso de hibernación con genéricos
- 15. Criterios de Hibernación/Consulta sobre las propiedades del objeto
- 16. ¿Puedo llamar a un procedimiento almacenado con criterios de hibernación?
- 17. Cómo ordeno la lista con criterios en hibernación
- 18. ¿Cómo se combinan los criterios "O" al usar una consulta de criterios con hibernación?
- 19. ¿Cómo se pide un OneToMany tabla de unión en los criterios de hibernación
- 20. java.lang.verifyError en el tipo de uso específico de hibernación
- 21. cómo acelerar los criterios de hibernación 'consultas ilike' con la base de datos Oracle
- 22. uso SUMA mysql() en una cláusula WHERE
- 23. Al utilizar los criterios de hibernación, ¿hay alguna manera de escapar de los caracteres especiales?
- 24. Criterios de Hibernación: Izquierda Exterior Unir con restricciones en ambas tablas
- 25. Uso de la columna Oracle XMLType en hibernación
- 26. agregar un grupo, a una hibernación Criterios en consultas sin proyección
- 27. Cómo evitar el uso de actualización del esquema de hibernación
- 28. El uso de SUMA en los datos FLOAT
- 29. ¿Cómo lograr "no estar" utilizando Restricciones y criterios en Hibernate?
- 30. ¿Cómo usar los criterios de hibernación para devolver solo un elemento de un objeto en lugar de todo el objeto?
@Closevoter - esto ** es ** una pregunta real. –