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

被折叠的 条评论
为什么被折叠?



