有没有办法让hibernate为每个字段定义默认值,为了数据库大小,写入null而不是这些默认值?
对于inst。假设String的默认值是“”。我希望Hibernate能够:
当然,我可以写出数以千计的Getter和Setter,但它可以自动完成吗?
答案 0 :(得分:6)
如果您想要一个真正的数据库默认值,请使用columnDefinition - @Column(name =“myColumn”,nullable = false,columnDefinition =“int 默认为100“)。请注意,columnDefinition中的字符串是数据库 依赖。此外,如果您选择此选项,则必须使用 动态插入,因此Hibernate不包含具有空值的列 在插入。否则谈论违约是无关紧要的。
但是如果你不想要数据库默认值,而只是默认值 Java代码中的值,只需初始化变量 - private Integer myColumn = 100;
来源:
How to set default value in Hibernate
当然,而不是使用:
columnDefinition = “int default 100"
尝试类似:
columnDefinition = “TEXT default `default_text`"
我不确定这是否在语法上是正确的,但请检查这些:
答案 1 :(得分:0)
你可以使用字段getter实现这样的东西,它很简单并且可以达到目的。