JPA createNamedQuery 语法
Posted
技术标签:
【中文标题】JPA createNamedQuery 语法【英文标题】:JPA createNamedQuery syntax 【发布时间】:2010-08-01 02:40:32 【问题描述】:在 Pro JPA 2 (Apress) 书中,我看到过类似的例子,
EntityManager em;
Long count = em.createNamedQuery(countQueryName, Long.class).getSingleResult();
但是,api 有望应用于 JPA 2.0,其语法显示为
createNamedQuery(String name)
Parameters:
name - the name of a query defined in metadata
只有一个参数。这本书广泛使用了这种类型,所以我错过了什么?
谢谢。
【问题讨论】:
【参考方案1】: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
【讨论】:
谢谢.. 我需要等待 6 分钟才能接受答案,所以说:-) 无效的网址你能提供另一个或在这里总结吗 @shareef,我已经更新了答案,但以后您可以自己编辑和更新答案,修复损坏的链接等。以上是关于JPA createNamedQuery 语法的主要内容,如果未能解决你的问题,请参考以下文章