有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate:如果entity字段为null且db字段包含默认值,则不插入数据

实体中我的一个字段如下所示:

@Entity
@Table(name = "MY_TABLE")
public class MyTable {
    @Column(name = "MYFIELD")
    @Getter @Setter private Integer myField;
}

在DB中,我更新了我的表格,如下所示:

ALTER TABLE MY_TABLE ADD MYFIELD integer NOT NULL DEFAULT 0;

当我试图向这个表中插入数据时,我填充了所有其他字段,除了上面的MYFIELD之外。Hibernate将尝试在该字段为空的位置进行查询。由于null,我得到以下错误:

Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into MY_TABLE
(MYFIELD) values (NULL) was aborted. Call getNextException to see the cause.

如果我不传递数据库默认值,如何设置实体,使其支持并使用数据库默认值


共 (0) 个答案