JPA createNamedQuery语法

时间:2010-08-01 02:40:33

标签: java jpa orm named-query jpa-2.0

在Pro JPA 2(Apress)一书中,我看过像

这样的例子
EntityManager em;
Long count = em.createNamedQuery(countQueryName, Long.class).getSingleResult();

但是,希望应用于JPA 2.0的api将语法显示为

createNamedQuery(String name) 
Parameters:
name - the name of a query defined in metadata

使用单个参数。这本书广泛使用的类型,所以我错过了什么?

感谢。

1 个答案:

答案 0 :(得分:2)

Java EE 5使用JPA 1,Java EE 6使用JPA 2.这是您正在寻找的方法:

createNamedQuery(java.lang.String name, java.lang.Class resultClass)

  

创建TypedQuery实例以执行Java Persistence   查询语言命名查询。查询的选择列表必须包含   只有一个项目,必须可以分配给指定的类型   resultClass参数。

     

参数的:   name - 元数据中定义的查询的名称   resultClass - 查询结果的类型

     

返回:新查询实例

     

引发IllegalArgumentException - 如果未使用给定名称定义查询,或者发现查询字符串无效或者发现查询结果不可分配到指定的类型

     

:Java Persistence 2.0