Spring Boot JPA 存储库查询
Posted
技术标签:
【中文标题】Spring Boot JPA 存储库查询【英文标题】:Spring boot JPA repository query 【发布时间】:2021-04-16 18:58:07 【问题描述】:我想使用 spring jpa 存储库检索从当前日期起 6 个月内出生的人的数据
+-----------+----------+-------------+-----------------+------------+-------------+
| donorName | donorAge | donorGender | donorBloodgroup | donorPhone | dateOfBirth |
+-----------+----------+-------------+-----------------+------------+-------------+
| abd | 22 | male | bpos | 1212 | 1998-09-01 |
| Arun | 22 | male | apos | 12111 | 1998-10-27 |
| rohit | 21 | male | apos | 1233212 | 1999-09-01 |
| virat | 32 | male | apos | 10001100 | 1999-09-01 |
| Rama | 21 | male | o-ve | 12345678 | 2019-09-08 |
| ramesh | 34 | male | b+ve | 123456712 | 2020-12-10 |
| Aniruddha | 22 | male | o+ve | 959121844 | 2020-08-01 |
+-----------+----------+-------------+-----------------+------------+-------------+
这是我的桌子
这是我正在尝试的查询:@Query("from donor where dateOfBirth > date_sub(now(),interval 6 month)") 列出 findBloodDonorsBydateOfBirth(); 我在构建 Spring Boot 应用程序时遇到错误。 此查询在 mysql 中有效 谢谢
【问题讨论】:
【参考方案1】:两个提示:
使用这个查询@Query( value = "select * from donor as d where d.dateofBirth > date_sub(now(),interval 6 month)" , nativeQuery = true) List<Donor> findBloodDonorsBydateOfBirth();
为了给你更好的帮助,请附上控制台出现的错误。
【讨论】:
【参考方案2】:在您的存储库中尝试以下代码,它会起作用。
@Query("select d from donor d where d.dateOfBirth > date_sub(now(),interval 6 month)")
List<Donor> findBloodDonorsBydateOfBirth();
【讨论】:
以上是关于Spring Boot JPA 存储库查询的主要内容,如果未能解决你的问题,请参考以下文章
使用 spring boot JPA hibernate 存储库检查用户名和密码的 Mysql 查询不起作用。我该怎么办?
两个不同的查询返回相同的对象 Spring Boot JPA
在 Spring Boot 应用程序的 JUnit 测试中,自动装配的 JPA 存储库没有合格的 bean