使用Spring Data JPA执行动态查询

4
@Query(value = "SELECT * FROM H4 WHERE 1")
List getResult();

我想用一个包含在别处生成的查询的 String 变量,而不是查询 "SELECT * FROM H4 WHERE 1"

2个回答

1

@Query,像其他注解一样,使用编译时常量来定义属性。除非您计划黑客Spring Data JPA框架,否则无法在运行时定义其值。

您应该使用带有条件的规范示例查询或JPQL来定义和执行动态查询。


Criteria API很丑陋。自己创建一个字符串要干净得多。有没有一种方法可以直接运行一个字符串? - gene b.

0

创建常量并将值设置如下。

@Query(value = ApplicationConstantClass.QUERY_STRING_CONSTANT)
List getResult();

或使用 hibernate 的 EntityManagerSessionFactory 来执行动态生成的查询。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接