A pesar de 3 horas de búsqueda en Google y búsqueda en la API, no encuentro ninguna referencia sobre si es posible usar funciones de base de datos dentro de una consulta de criterios de hibernación. Para ser específico:Uso de funciones de base de datos para transformar columnas en criterios de hibernación
Me gustaría acceder a la parte de fecha de la fecha y hora en una base de datos de postgres y agruparlo. Me imagino que la consulta sería algo como:
session.createCriteria(Exam.class)
.setProjection(Projections.projectionList()
.add(Projections.property("DATE(beginExam)").as("beginDate"))
.add(Projections.groupProperty("beginDate")))
.list();
Esto no funciona y me dio un "no podía resolver la propiedad: Fecha (beginExam) ..." es una excepción. Parece que esto es algo muy simple de hacer, y debo estar perdiendo algo. Dado que también estoy construyendo restricciones dinámicamente (lo dejé en el ejemplo), parece que el criterio es el componente de hibernación que se debe usar para esto, pero estoy abierto a cualquier sugerencia en este punto, dejando de lado todo el asunto. construyendo mi propio grupo por.
Gracias
lo hice, a fondo. Entre los muchos métodos para eq y entre ellos, no existe un método para transformar el valor de la columna en una fecha, por lo que luego se puede comparar o poner en una propiedad de grupo. – user996088
@ user996088: ¿Cuál es el tipo de datos de beginExam? puede usar _any_ SQL en Projections.sqlProjection, así que no veo por qué no debería poder convertirlo a una fecha. – tscho
Mi culpa. En mi angustia no reconocí que gkamal me había señalado en la dirección correcta con el enlace equivocado. – user996088