我们可以在Spring JPA中动态传递@Query(值= "Dyanically read from some properties file")吗



我们可以在Spring JPA中动态传递@Query(value="动态读取某些属性文件"(吗?或者除了使用@NamedQuery和使用xml文件之外,还有没有办法将查询外部化?

谢谢。

  1. resources文件夹下创建文件jpa-named-queries.properties
  2. jpa-named-queries.properties文件中添加查询。查询名称格式为Schema_class_name.method_name。在此波纹管示例中,查询返回Account实体类,因此第一部分是 Account。点后添加方法名称(您可以命名任何内容,只需确保在存储库类中方法名称匹配(
Account.LoginQuery=SELECT a FROM Account a WHERE a.username = :param or a.email=:param
  1. 将方法添加到存储库类AccountRepositoy
Account LoginQuery(String param);

现在,从服务中,您可以像调用其他jpa方法一样调用此方法。

你试过这个吗:

@Value( "${example.query1}" )
private String query1;
@Query(value = query1)
someMethod();

最新更新