前言
对于刚刚接触hibernate的开发者来说,它确实是一个伟大的东西,但如果针对修改不太明白的话,那确实挺伤的。首先修改是根据id查找到实体。然后和保存一样,也是用save进行存储。
针对一些cdate创建日期,udate更新日期。我们希望创建日期只在添加是实体的时候创建,但是修改实体的时候cdate不发生改变,但是udate是在每次更新实体的时候改变,包括添加实体的时候。
好了废话,不多说。开始吧!!!
再多说一句,下文分析两种开发情况展开的,一种是维护,一种是从头开发。
从头开始我这里的意思是根据hibernate实体类进行映射到数据库,然后自动生成表。
而我这里的维护是指,不能通过hibernate实体对象来创建表,只能通过sql填写。这两种所用到的注解可能稍微有点不一样的哦
1、从头开始开发,hibernate映射数据表
这个就很简单的了,很明显用到的注解就是,二者注解并没有对日期的默认值产生影响,说明是java的解决方式
@UpdateTimestamp //自动更新
@Temporal(TemporalType.TIMESTAMP)
private Date udate;
@Temporal(TemporalType.TIMESTAMP)
@CreationTimestamp //自动创建
private Date cdate;
1、所映射到数据库中的字段为,注意这里映射的为datetime,其实和自己sql创建的timestamp是一样的。
2、该注解并没对日期的默认值产生影响,说明是ja