java - hibernate 默认值

标签 java hibernate jpa

hibernate 有没有办法为每个字段定义默认值,并且为了数据库大小写 null 而不是这些默认值?

例如。假设 String 的默认值为“”。我希望 Hibernate 能够:

  1. 为数据库中具有 NULL 的每个字段返回 ""。
  2. 当我尝试写入 ""时,将 NULL 写入数据库

我当然可以写几千个Getters和Setters,但是能自动完成吗?

最佳答案

If you want a real database default value, use columnDefinition - @Column(name = “myColumn”, nullable = false, columnDefinition = “int default 100"). Notice that the string in columnDefinition is database dependent. Also if you choose this option, you have to use dynamic-insert, so Hibernate doesn't include columns with null values on insert. Otherwise talking about default is irrelevant.

But if you don't want database default value, but simply a default value in your Java code, just initialize your variable like that - private Integer myColumn = 100;

来源:

How to set default value in Hibernate

当然,而不是使用:

columnDefinition = “int default 100"

尝试这样的事情:

columnDefinition = “TEXT default `default_text`"

我不确定这在句法上是否正确,但请检查一下:

Text Field using Hibernate Annotation

Set default values using hibernate annotations in MYSQL

关于java - hibernate 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17882103/

相关文章:

java - 如何对ArrayList进行降序排序

java - 在 Spring Data JPA 字段中使用投影错误

java - SQL 查询仅返回 SELECT 语句中第一列的值

java - 使用 JPA 中的父实体获取子实体

java - 为什么我需要添加 Material Theme 依赖项才能解析 DocumentFile

java - 为什么这里呈现的模板不正确?

java - 从 hibernate 迁移到持久化

java - 在哪种情况下您使用 JPA @JoinTable 注释?

java - 在主 Activity 中单击按钮更改 Canvas

java - Hibernate中的@Formula计算日期时间