在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
使用单个参数。这本书广泛使用的类型,所以我错过了什么?
感谢。
答案 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