我想知道我是否可以在JPA中加入2个命名查询。作为一个例子,我有两个以下命名查询
1 - 获取所有活跃用户
2 - 获取给定公司的所有用户
我是否可以加入以上两个命名查询并获取 获取给定公司的所有活跃用户。
答案 0 :(得分:1)
请勿使用NamedQuery
。直接将查询字符串传递给方法是最好的选择。
您必须了解方法createNamedQuery(String name)
采用命名查询的名称。然而,createNamedQuery(String qlString)
采用查询字符串,因此符合您的需要。
或者
为此目的创建单独的NamedQuery
。
答案 1 :(得分:1)
我是否可以加入以上两个命名查询,获取给定公司的所有活跃用户。
不,那是不可能的。编写一个智能命名查询,可以使用参数来表达所有情况(如果可能)或使用多个命名查询。
如果您使用的是JPA 2.0,则Criteria API可能是编写动态查询的另一个(更好)选项。