Estoy tratando de usar el siguiente código para obtener una lista de objetos de experiencia de una tabla MySQL
. Cada experiencia tiene una columna datetime
y una columna datetime
y solo quiero tirar de las filas donde la fecha de hoy se encuentra entre el y desde.Uso de criterios de JPA/Hibernate para pasar de una fecha
Estoy usando JPA 2.0 saliendo de Hibernate.
Date currentDate = new Date();
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Experience> query = builder.createQuery(Experience.class);
Root<Experience> root = query.from(Experience.class);
builder.between(currentDate, root.get("from"), root.get("to"));
return entityManager.createQuery(query).getResultList();
Mi problema es que builder.between()
obviamente me prohibirá el paso de un objeto Date.
¿Existe una solución mejor a mi problema?
Gracias - eso es perfecto. Mi problema ahora es que, por algún motivo, root.get ("desde") devuelve un objeto Path y no un objeto Expression. – christophmccann
@Christopher: 'Path' es un subtipo de' Expression'. – axtavt
Los objetos devueltos de root.get() son de objeto supertipo genérico no Fecha. Pero el primer parámetro es de supertipo genérico Fecha. Los tres deben tener el mismo supertipo. ¿Algunas ideas? – christophmccann