hibernate updatetime 自动更新时间问题

涛year 发布于 2016/01/07 18:53
阅读 1K+
收藏 0

数据库中updatetime设计

`updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

hibernate 中映射

@Temporal(TemporalType.TIMESTAMP)
private Date updatetime;

插入数据时不指定updatetime,数据库中updatetime会自动生成插入的当前时间

但更行操作时,updatetime不指定时,数据库中updatetime时间不更新,怎么让更行操作时自动更新时间


加载中
0
涛year
涛year

已经解决了

实现功能:由数据库随着表中值的修改自动更新updatetime


实现方法一:
updatetime字段表结构设计    
    `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

hibernate类中对应的实体类中不加该字段

实现方法二:
updatetime字段表结构设计   
     `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

当你实体类中需要用到updatetime,加updatetime字段时
必须添加如下注解,表示该字段更新不受实体类的影响,由数据库自动更新

    @Temporal(TemporalType.TIMESTAMP)
    @Column(insertable = false, updatable = false)  
    @org.hibernate.annotations.Generated(org.hibernate.annotations.GenerationTime.ALWAYS) 
    private Date updatetime;

0
0
长安俞白眉
长安俞白眉
@PreUpdate public void preUpdate() { modifyTime = new Date(); }
返回顶部
顶部