在JPA中加入命名查询

时间:2010-10-20 08:06:04

标签: java jpa named-query

我想知道我是否可以在JPA中加入2个命名查询。作为一个例子,我有两个以下命名查询

1 - 获取所有活跃用户
2 - 获取给定公司的所有用户

我是否可以加入以上两个命名查询并获取 获取给定公司的所有活跃用户。

2 个答案:

答案 0 :(得分:1)

请勿使用NamedQuery。直接将查询字符串传递给方法是最好的选择。

您必须了解方法createNamedQuery(String name)采用命名查询的名称。然而,createNamedQuery(String qlString)采用查询字符串,因此符合您的需要。

或者

为此目的创建单独的NamedQuery

答案 1 :(得分:1)

  

我是否可以加入以上两个命名查询,获取给定公司的所有活跃用户

不,那是不可能的。编写一个智能命名查询,可以使用参数来表达所有情况(如果可能)或使用多个命名查询。

如果您使用的是JPA 2.0,则Criteria API可能是编写动态查询的另一个(更好)选项。