Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur SQL :1064, SQLState :42000 dans @Query - JPA, MySQL, Hibernate

Vous ne pouvez pas utiliser toLocalDate() directement dans JPQL. Un moyen plus simple de résoudre ce calcul de début de journée et de fin de journée de localdate et faire entre les requêtes en les utilisant.

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

et requête comme 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);