在 JPA 存储库(Spring Data Jpa)中执行自定义查询
Posted
技术标签:
【中文标题】在 JPA 存储库(Spring Data Jpa)中执行自定义查询【英文标题】:Executing custom query in JPA Repository (Spring Data Jpa) 【发布时间】:2021-04-01 19:54:01 【问题描述】:使用 Spring Boot 应用程序。 我有一个 UserService 类,在其中我根据请求参数创建具有多个或条件的动态查询:
Select care_adl_id, adl_text, hr from (select care_adl_id, adl_text, extract(hour from actual_hour)hr from adl_events) as evt where
care_adl_id = 1 and hr > 6 and hr < 15
or care_adl_id = 2 and hr > 6 and hr < 15
or care_adl_id = 3 and hr > 15 and hr < 23
我有 UserRepository 接口,我需要执行这个查询。到目前为止,我已经使用了 JPA 函数,如 findById 等或 @Query("Select id from Events")。
如何将此查询从服务类传递到存储库并执行?
【问题讨论】:
【参考方案1】:您可以使用我的spring-dynamic-jpa 库。您只需要编写一个查询模板,它将帮助您根据参数更改查询。
【讨论】:
以上是关于在 JPA 存储库(Spring Data Jpa)中执行自定义查询的主要内容,如果未能解决你的问题,请参考以下文章
spring-data-jpa 存储库模式与 Querydsl 查询模式有啥区别?
Spring-Data-Jpa 存储库 - 实体列名称上的下划线
spring-data-jpa 存储库在 Query 中使用 Collection 作为 @Param