1

在 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

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

谢谢。

4

1 回答 1

2

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

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

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

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

返回:新的查询实例

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

:Java 持久性 2.0

于 2010-08-01T02:46:32.870 回答