我类(class)的一个成员是字节类型的。如您所知,其初始值为NULL
。但如果默认情况下没有人调用构造函数,我希望它为 0
。那么我这样做的方式是正确的吗?因为在我的数据库中该值不允许为NULL
。所以我需要给它一个默认值应该是0
。
@Entity
@Table(name = "Holiday")
public class Holiday {
@Column(columnDefinition = "Bit(2)")
private Byte approved = (byte) 0;
public Holiday() {
}
public Holiday( Byte approved) {
super();
this.approved = approved;
}
P.S.:当然这个类还有更多的成员和另一个构造函数。但为了演示,我删除了所有其他成员。
最佳答案
尝试添加nullable = false:
@Entity
@Table(name = "Holiday")
public class Holiday {
@Column(columnDefinition = "Bit(2)", nullable = false)
private Byte approved = (byte) 0;
public Holiday() {
}
public Holiday( Byte approved) {
super();
this.approved = approved;
}
或者在columnDefinition中添加NOT NULL DEFAULT 0
@Column(columnDefinition = "Bit(2) NOT NULL DEFAULT 0")
关于java - 如何在hibernate实体中初始化复杂类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60097157/