如何在Spring数据jpa @Query中引用用外部文件编写的长查询 [英] How to refer long query, written in external file, in Spring data jpa @Query
本文介绍了如何在Spring数据jpa @Query中引用用外部文件编写的长查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
- 我想在外部文件中编写查询(属性或 yaml)以加载数据库.-
- 这是一个长查询,放在 XXXRepository 类中的 @Query("long query") 中时看起来不太好看.
- 有没有办法在外部文件(属性、yaml、xml 或 json)中编写此查询,并在 Spring Data jpa 中的 @Query() 中调用该文件?
推荐答案
您可以使用命名查询,其中查询必须在名为 META-INF/jpa-named-queries.properties的文件中定义代码>.请参阅 弹簧示例:
You can use named queries, where the queries have to be defined in a file called META-INF/jpa-named-queries.properties
. See the spring example:
User.findBySpringDataNamedQuery=select u from User u where u.lastname=?1
在存储库的注释中按名称引用查询,这里是 spring 对应的存储库示例:
Reference the query by name in the annotation in your repository, here the corresponding repository example from spring:
@Query(name = "User.findBySpringDataNamedQuery", countProjection = "u.firstname")
Page<User> findByNamedQueryAndCountProjection(String firstname, Pageable page);
这篇关于如何在Spring数据jpa @Query中引用用外部文件编写的长查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文