小编典典

如何将@Query sql存储在CrudRepository的外部文件中?

spring

我使用的是spring带有CrudRepositoryS代表数据库连接。

现在,我需要一个相当长(几行)的sql查询,我希望将其保存在classpath中的文件中,而不是直接在代码内部。

但是我怎么能做到这一点呢?我的仓库如下:

@Query(value = "<my very long sql query>", nativeQuery = true) //how to inject file content?
@Modifying
@Transactional
public void executeSpecificSql();

阅读 461

收藏
2020-04-20

共3个答案

小编典典

如果你的项目设置具有资源文件夹,请在/META-INF/jpa-named-queries.properties文件下创建并将键值对添加为repoClass.methodName=yoursql。spring数据将恢复。

对于更长的查询,最好使用xml带有CDATA标签的属性文件

2020-04-20
小编典典

使用以下步骤。

  1. 在src / main / resources-> META-INF文件夹中创建jpa-named-queries.property文件

  2. 在给定的属性文件中取消查询查询。
    看closely.Here 集团是实体名称,而方法应该匹配与法库接口定义。查询应具有对象名称,而不是表名称,而不是列名称,而是提供实体中为各个字段指定的变量名称。

  3. 具有属性名称的接口方法

2020-04-20
小编典典

如果您的项目设置具有资源文件夹,请在/META-INF/jpa-named- queries.properties文件下创建并将键值对添加为repoClass.methodName=yoursql。春季数据将恢复。

对于更长的查询,最好使用xml带有CDATA标签的属性文件:https
:
http://codingdict.com/questions/111287

2020-09-22