【发布时间】:2013-05-06 09:29:34
【问题描述】:
我将 h2 用于测试目的,但在转换为派生类时遇到问题。案例是:
@Entity
@DiscriminatorColumn(name = "DTYPE", discriminatorType = DiscriminatorType.STRING, length = 64)
public class A {...}
@Entity
@DiscriminatorColumn(name = "DTYPE", discriminatorType = DiscriminatorType.STRING, length = 64)
public class B extends A {...}
我的数据集如下所示:
<A attr1=... attr2=... DTYPE="A"/>
<B attr1=... attr2=... DTYPE="B"/>
问题是当我尝试在 JPA 中进行这样的查询时:
Query q = em.createQuery("SELECT a FROM A a WHERE...");
我尝试得到这样的值:
(B) q.getResultList().get(0);
我有以下异常:
java.lang.ClassCastException: mypackage.A cannot be cast to mypackage.B
在 mysql 中它工作正常,但在 H2 中不行。 H2版本:1.3.171
【问题讨论】:
标签: java jpa integration-testing h2