如何使子列(单表)中的标量字段的列可为空?

时间:2012-12-26 21:31:40

标签: java hibernate

我有一个单表映射的层次结构。 我使用HSQLDB进行自动生成DDL功能的测试。 层次结构中的一个子类具有标量长字段。

我无法持久化其他子类的对象,因为第一个类的DB行字段为空。

Hibernate生成的表列没有空约束。

如果将字段类型更改为Long,则问题会消失。 但@Nullable注释无济于事。

我不想长时间使用Long类型因为这个导致 经常装箱/拆箱。

1 个答案:

答案 0 :(得分:0)

我知道了。

只需在embeddable类的字段中添加@Column(nullable = true)。

@Embeddable
class Delay {
   @Colum(nullable = true)
   private long delay;

}