hibernate 有没有办法为每个字段定义默认值,并且为了数据库大小写 null 而不是这些默认值?
对于 inst。假设 String 的默认值为“”。我希望休眠:
- 为每个在数据库中具有 NULL 的字段返回“”。
- 当我尝试写入“”时,将 NULL 写入数据库
当然,我可以编写数千个 Getter 和 Setter,但可以自动完成吗?
如果您想要一个真正的数据库默认值,请使用 columnDefinition - @Column(name = “myColumn”, nullable = false, columnDefinition = “int default 100”)。请注意,columnDefinition 中的字符串取决于数据库。此外,如果您选择此选项, 你必须使用动态插入, 所以 Hibernate 不会在插入时包含具有空值的列。否则谈论默认是无关紧要的。
但是,如果您不想要数据库默认值,而只是 Java 代码中的默认值,只需像这样初始化您的变量 - private Integer myColumn = 100;
资源:
当然,而不是使用:
columnDefinition = “int default 100"
尝试类似:
columnDefinition = “TEXT default `default_text`"
我不确定这在语法上是否正确,但请查看以下内容:
You may implement such thing using field getters, Its simple and will serve the purpose.