Hibernate注解插入有空字段实体映射类:实体类有空字段插入数据库时空属性插入为默认值

本文介绍了一种在实体映射类中设置字段默认值的方法,通过使用@Column注解及columnDefinition属性,可以指定数据库中对应字段的默认值。文章还展示了如何在Hibernate中配置动态插入和更新,确保即使某些属性为空也能正确地保存到数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实体映射类:

@Entity
@Table(name="player")
@org.hibernate.annotations.Entity(dynamicUpdate=true,dynamicInsert=true)//加上这句插入实体映射类时空字段才能插入默认的值
public class Player {
@Id
@Column(name="id",nullable=false)
private String id;

@Column(name="name",nullable=false)
private String name;

@Column(name="level",nullable=false,columnDefinition="smallint default 1")//定义当此属性为空时,插入的默认值,要不为空状态下
private Short level;

@Column(name="sex",nullable=false,columnDefinition="tinyint default 0")
private Byte sex;

        @Column(name="created",nullable=true,columnDefinition="datetime default null")//默认为空时
private Date created;

        ………………

        set,get省略了………


dao层下:

sessionFactory.getCurrentSession().save(player);

player对象里面的属性此时有些是空的,插入到数据库后,数据库的空字段数据是默认值







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值