spring-boot - 如何在 Spring Boot 中从应用程序属性文件中读取 jpa 命名查询?
问题描述
我在我的 JPA 存储库接口中有自定义长 sql 查询字符串。我觉得将此查询移动到一些属性文件,因为当我想对我的数据库执行查询时,我必须删除所有“+”加号和双引号。与其删除,不如将所有查询放入属性或 yaml 文件中。我可以轻松使用和修改。请建议我这种方式是正确的方法。
@Repository
public interface LoanRepository extends JpaRepository<Loan, Integer> {
@(name= "{long query}")
public List<Loan> findLoansByIdAndBalance();
}
解决方案
这是一个如何从 yml 文件中获取值的示例。
在您的 application.yml 中:
data:
query:
queryGetNames: here_your_query
在你的课堂上,你用这个来调用这个值:
@Setter(onMethod_ = {@Value("${data.query.queryGetNames}")})
private String query;
注意:@Setter 注解来自 lombok
推荐阅读
- javascript - 未捕获的类型错误:无法定义属性“x”:对象不可扩展
- java - Java Spark - 数据集/数据框中两列值的差异
- ios - 在本机应用程序中构建失败
- amazon-web-services - AWS CloudFormation - 忽略属性的变化 - Terraform等效的`ignore_changes`?
- async-await - Blazor webassembly 中的 Http 客户端成功发布,就像在 jQuery 中一样
- c# - 在 .Net MVC 上绘制画布或创建图像文件
- haskell - 无法写入标准输入
- reactjs - 如何在代码镜像编辑器中更改特定令牌样式?
- tsql - 按 ID 匹配记录并在 TSQL 中显示不匹配的列
- asp.net-core - 登录成功后AuthenticationState总是返回null