JPA标签@Column字段为null时不保存/更新

jpa 实体类中某些字段为null时,执行save操作也会将null值存入,更新时如果将数据查询出再set显得非常的鸡肋,尤其是对于createTime,updateTime这一类记录数据更没必要再次查询。
@Column(insertable = false,updatable = false)即可在save时忽略此字段,这样jpa更新插入时就不会去更新这个字段了,而是完全由数据库维护。columnDefinition和后面的设置,就等于在数据库中设置DEFAULT CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP

@Entity(name="test")
@DynamicInsert
public class Test implements Serializable{
 
    private static final long serialVersionUID = -7778115605492233123L;
 
    @Id
    @GeneratedValue
    private Integer id;
    
    @Column(name = "create_time",insertable = false,updatable = false,columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
    private Date createTime;
    
    @Column(name = "update_time",insertable = false,updatable = false,columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
    private Date updateTime;
 
}

版权声明:本文为qq_43278717原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。