java在实体类中定义动态命名查询
我有一个命名查询,如下所示
@NamedQuery(name=“MyEntityClass.findSomething”,query=“从MyTable mytbl中选择项”)
现在我需要将动态排序子句附加到此查询(基于UI输入参数)
所以我的问题是我是否仍然可以在实体类中定义NamedQuery
我已经使用StringBuffer在我的Business Impl类中定义了命名查询,并为排序顺序/排序列动态附加了值
你可以在下面搜索框中键入要查询的问题!
我有一个命名查询,如下所示
@NamedQuery(name=“MyEntityClass.findSomething”,query=“从MyTable mytbl中选择项”)
现在我需要将动态排序子句附加到此查询(基于UI输入参数)
所以我的问题是我是否仍然可以在实体类中定义NamedQuery
我已经使用StringBuffer在我的Business Impl类中定义了命名查询,并为排序顺序/排序列动态附加了值
# 1 楼答案
JPA中的命名查询是不可更改的。它们的行为就像常数。使用它们唯一能做的就是在它们的主体中定义一个固定数量的参数
如果要动态构建查询,请使用普通JPQL查询而不是命名查询