我有一个基于休眠策略的实体层次结构,SINGLE_TABLE
并ddl-auto=update
在我的 application.yml 中设置。
当我使用 h2db 运行测试时,我得到“ NULL not allowed for column ”。
这是我的映射:
==================
Shape
|--> Square
|--> Cube
==================
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "IS_SOLID", discriminatorType = DiscriminatorType.INTEGER)
@DiscriminatorValue(value = "-1")
public abstract class Shape{
...
}
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorValue(value = "null")
public class Square extends Shape{
...
}
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorValue(value = "1")
public class Cube extends Shape{
...
}
我需要将null作为 discriminatorValue 设置为一个子类。
当ddl-auto=update
指令创建形状表时,它设置为not null
鉴别器列,所以我得到“ NULL not allowed for column ”。
有没有办法使用 ddl-auto 强制鉴别器列可以为空?