ben*_*rre 3 java orm entity hibernate hql
根据Hibernate文档的这一部分,我应该能够在HQL中查询任何java类
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html#queryhql-polymorphism
不幸的是,当我运行此查询...
"from Transaction trans where trans.envelopeId=:envelopeId"
Run Code Online (Sandbox Code Playgroud)
我收到消息"事务未映射[来自Transaction trans where trans.envelopeId =:envelopeId]".
Transaction是一个接口,我必须实现它的实体类,我希望在HQL查询中返回一个类型为Transaction的Collection.
Pas*_*ent 11
确实,根据关于多态查询的Hibernate文档:
Hibernate查询可以命名from子句中的任何Java类或接口.该查询将返回扩展该类或实现该接口的所有持久化类的实例.以下查询将返回所有持久对象:
Run Code Online (Sandbox Code Playgroud)from java.lang.Object oNamed接口可能由各种持久化类实现:
Run Code Online (Sandbox Code Playgroud)from Named n, Named m where n.name = m.name
但由于接口未映射(因而未知),因此需要在HQL查询中使用完全限定名称:
from qualified.name.Transaction trans where trans.envelopeId=:envelopeId
Run Code Online (Sandbox Code Playgroud)
这将返回实现您的Transaction接口的所有持久化类的实例.
| 归档时间: |
|
| 查看次数: |
3138 次 |
| 最近记录: |