我正在使用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)