带有discriminator列的HQL查询无法按子类类型进行查询

时间:2014-07-09 09:42:09

标签: hql hibernate3 jpa-1.0

我正在使用JPA1.0和Hibernate 3.3。 (目前没有升级选项)。

我想使用GenericOrderType策略和@Inheritance(strategy = InheritanceType.SINGLE_TABLE)查询通用表@Discriminatorcolumn(name="ORDER_TYPE")

运行以下查询WITHOUT AND type(o) = 'SubOrderType'有效。

select OBJECT(o) from GenericOrderType o where o.id = :orderid AND type(o) = 'MiniOrderType'

如果我追加AND type(o) = 'MiniOrderType',我会收到持久性异常。

javax.persistence.PersistenceException: org.hibernate.HibernateException: Unable to resolve entity name from Class [java.lang.String] expected instance/subclass of [com.doe.GenericOrderType]

我没有找到使用Hibernate 3.3和JPA 1按类型(子类)查询的正确语法。 http://docs.jboss.org/hibernate/core/3.3/reference/en-US/html/

任何提示都表示赞赏。

谢谢

0 个答案:

没有答案