sql >> Base de Datos >  >> RDS >> Mysql

Error de SQL:1064, SQLState:42000 en @Query - JPA, MySQL, Hibernate

No puede usar toLocalDate() directamente en JPQL. Una forma más fácil de arreglar este cálculo del inicio del día y el final del día de localdate y hacer entre consultas usándolos.

LocalDateTime startOfDay = localDate.atTime(LocalTime.MIN);
LocalDateTime endOfDay = localDate.atTime(LocalTime.MAX);

y consulta como c.start between BETWEEN :startOfDay AND :endOfDay

@Query("SELECT new com.proctorio.webtracker.entity.WebsiteDailyTotal(c.domain, SUM(c.duration)) " 
       +"FROM SuperStatEntityTime AS c WHERE c.start between BETWEEN :startOfDay AND :endOfDay GROUP BY c.domain ORDER BY c.domain ASC")
public List<WebsiteDailyTotal> countTotalDomainUsageByDay2(@Param("startOfDay") LocalDateTime startOfDay,
                                                           @Param("endOfDay") LocalDateTime endOfDay);