首页 > 解决方案 > 如何使用 localdate 创建休眠请求

问题描述

我有一个有过期日期(dateTime)的用户,我需要显示所有尚未过期的用户。用 DATA () 尝试了不同的选项,或者作为一个例子 -

@Query (name = "SELECT u FROM User u WHERE u.date>: now")
     Page <User> findByMute (@Param ("now") LocalDateTime now, Pageable pageable);

但它不输出任何东西。但是当在 MySQL 中询问时 - SELECT * FROM user where user.date> NOW () 会显示所有内容。告诉我如何在 Hibernate 中实现这个查询?

标签: javamysqldatabasehibernate

解决方案


将注解属性“ name ”替换为“ value ”:

@Query(value = "SELECT u FROM User u WHERE u.date>:now")
Page<UserEntity> findByMute(@Param("now") LocalDateTime now, Pageable pageable);

注释属性“ name ”总是指一个命名查询,而属性“ value ”可以用来指定一个查询。“ value= " 可以省略,所以这也有效:

@Query("SELECT u FROM UserEntity u WHERE u.date>:now")
Page<UserEntity> findByMute(@Param("now") LocalDateTime now, Pageable pageable);

有关详细信息,请参阅https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query


推荐阅读