Se me olvidaba comentar que el atributo fecha es un timestamp. He probado en un proyecto a parte con una entidad que tenga un atributo timestamp y otro date y curiosamente el problema solo lo da con el timestamp. En el proyecto que estoy desarrollando uso timestamp a si que a ver si alguien sabe por que pasa y como solucionarlo.
Parte del codigo generado es este:
<HQL>select a_ticket.oid, a_ticket.totalTicket, a_ticket.fecha, a_establecimiento_role24.nombre from Ticket a_ticket left join a_ticket.ticketToEstablecimiento a_establecimiento_role24
<Where defaultPolicy="fill" allImplied="false">(({[p0](a_ticket.ticketToUser.oid in(?))})) and (({[p1]a_ticket.fecha <= ?})) and (({[p2]a_ticket.fecha >= ?}))</Where>
</HQL>
Llevo relativamente poco con webratio pero viendo el código generado tengo subrrayado donde yo supongo que esté el problema. Supongo que es la condición donde se dice que la fecha tiene que ser menor o igual a la dada por el signo "?", el caso es que es un timestamp por lo que si el valor de "?" es por defecto el ultimo dia del mes 00:00:00 en tonces cualquier evento de ese día y con time mayor a 00:00:00 no lo va a mostrar. Es curioso que si el evento es el último día del mes con 00:00:00 si se muestra por que si satisface la condición.
P.D: Debería poner la consulta en ingles?
Saludos Miguel Ángel.