代码之家  ›  专栏  ›  技术社区  ›  bsr

jpa createnamedquery语法

  •  1
  • bsr  · 技术社区  · 15 年前

    在Pro JPA 2(apress)的书中,我看到了一些例子,比如,

    EntityManager em;
    Long count = em.createNamedQuery(countQueryName, Long.class).getSingleResult();
    

    但是, api 希望能应用于JPA2.0,将语法显示为

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

    只有一个参数。这本书广泛使用这种类型,那我遗漏了什么呢?

    谢谢。

    1 回复  |  直到 11 年前
        1
  •  2
  •   Behrang Saeedzadeh    11 年前

    JAVA EE 5使用JPA 1,JAVA EE 6使用JPA 2。下面是您要寻找的方法:

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

    创建的实例 TypedQuery 用于执行Java持久性 名为查询的查询语言。查询的选择列表必须包含 只有一个项目,该项目必须可分配给 这个 resultClass 争论。

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

    退换商品 :新查询实例

    投掷 : IllegalArgumentException -如果查询没有用给定的名称定义,或者查询字符串无效,或者查询结果不可分配给指定的类型

    自从 Java持久化2