Spring data jpa,外部化本机查询

2023-12-22

我正在使用 Spring data jpa 来执行本机查询,这是示例。

@Query(value = "select name from customer", nativeQuery = true) 
public List<String> findNameNative() ;

现在,由于公司限制,无法将整个查询放在这里,但查询非常庞大,比如 100 行。

我们有很多这样的疑问。

有没有一种方法可以在单独的文件(例如 xml 或属性文件)中定义查询并在此处引用它们。 (保持代码整洁)

感谢您的帮助。

Thanks.


您可以将 devalue,这是查询本身。在 - 的里面src/main/resources,创建一个名为的文件夹META-INF。在其中创建一个名为jpa-named-queries.properties.

假设您的实体名为Customer表格是TBL_CUSTOMER.

当您将查询保留在代码中时,在您的存储库中,您就拥有了您编写的代码。你可以这样外部化它:

客户存储库.java

@Repository
public interface CustomerRepository extends JpaRepository<Customer, Long> {

    @Query(nativeQuery = true) 
    public List<String> findNameNative();

}

jpa 命名查询.properties

Customer.findNameNative=\
SELECT C.NAME \
FROM TBL_CUSTOMER C \
WHERE CONDITIONS

名称必须匹配,并且必须使用 \ 作为换行符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring data jpa,外部化本机查询 的相关文章

随机推荐