我们在Hibernate实体持久化时,可能有的字段为null或为空,但我们在Save()或Update()时,数据库可能设置了not null default 0(非空且有默认值),这时我们就不想在save时插入实体中为空的字段。我们只需要
在实体类上加上:
@DynamicInsert(true)//动态插入
@DynamicUpdate(true)//动态更新
@Entity
@Table(name="mession")
@DynamicInsert(true)
public class Mession {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="pk_id",length=11)
private Integer pk_id;
@Column(name="m_name")
private String m_name;
@Column(name="m_time")
private String m_time;
@Column(name="meaparam_id")
private Integer meaparam_id;
@Column(name="ts")
@Temporal(TemporalType.TIMESTAMP) //获取数据库时间格式
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") //Hibernate中@ResponseBody返回的时间格式
private Date ts;
@Column(name="dr")
private Integer dr;
public Mession() {
super();
// TODO Auto-generated constructor stub
}
public Mession(Integer pk_id, String m_name, String m_time,
Integer meaparam_id, Date ts, Integer dr) {
super();
this.pk_id = pk_id;
this.m_name = m_name;
this.m_time = m_time;
this.meaparam_id = meaparam_id;
this.ts = ts;
this.dr = dr;
}
get/set()
}