我有一个名为“Banner”的父亲班,还有许多继承他的班级。 在鉴别器值中起始宽度相同的所有类具有相同的属性,然后我想使用相同的类来破坏它们
我的实际代码是这样的:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(discriminatorType = DiscriminatorType.INTEGER)
@DiscriminatorValue("20001")
public class IndexGallery extends Banner{
但我想要这样的东西,因为更通用:
....
@DiscriminatorRange("20000-29999")
public class Gallery extends Banner{
....
@DiscriminatorRange("30000-39999")
public class FooBanner extends Banner{
另一方面,可以创建一个自定义规则来描述?像一个正常的表达?
答案 0 :(得分:0)
您可以使用@DiscriminatorFormula
。使用人员示例:
@DiscriminatorFormula("case when age is null then 0 else age end")
public class Person implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name="person_id")
private int personId;
@Column(name="name")
private String name;
@Column(name="age")
private Integer age;
}
Hibernate有一些关于它的文档here.