如何在Spring数据jpa @Query中引用用外部文件编写的长查询 [英] How to refer long query, written in external file, in Spring data jpa @Query

查看:29
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆