在实体类中定义动态命名查询

时间:2013-12-23 14:58:00

标签: java jpa entity named-query

我有一个命名查询,如下所示;

@NamedQuery(name =“MyEntityClass.findSomething”,query =“SELECT item FROM MyTable mytbl”)

现在我需要在此查询中附加动态排序子句(基于UI输入参数)

所以我的问题是我是否仍然可以在Entity类中定义NamedQuery。

我使用StringBuffer在我的Business Impl类中定义命名查询,并为排序顺序/排序列动态附加值。

1 个答案:

答案 0 :(得分:0)

JPA中的命名查询不可更改。它们表现得像常量。你唯一能做的就是在他们身上定义一个固定数量的参数

如果要动态构建查询,请使用普通的JPQL查询而不是命名的查询。