小编Por*_*cho的帖子

Hibernate:org.hibernate.WrongClassException,SINGLE_TABLE继承和DiscriminatorFormula

我正在使用Hibernate 3.2.2 GA和HSQLDB 2.0 GA,我有一个类似于以下的类层次结构:

@Entity
@Table(name = "A_TABLE")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorFormula(value = "case when CODE IN (1, 2, 3, 4) then 'TypeB' 
when CODE   IN (5, 6, 7, 8) then 'TypeC' else NULL end")
@org.hibernate.annotations.Entity(dynamicUpdate = true, dynamicInsert = true)
public abstract class A{

 (...)

}


@Entity
@DiscriminatorValue("TypeB")
public class B extends A {

(...)

}


@Entity
@DiscriminatorValue("TypeC")
public class C extends A {

(...)

}
Run Code Online (Sandbox Code Playgroud)

我正在尝试执行以下HQL查询,该查询返回B和C类中的对象.

String hql = "from A a where a.someAttr = 3";
Query …
Run Code Online (Sandbox Code Playgroud)

java hibernate hsqldb single-table-inheritance

5
推荐指数
2
解决办法
1万
查看次数