@PreUpdate 和@PrePersist
@sunRainAmazing
hibernate jpa 注解
@PreUpdate
用于为相应的生命周期事件指定回调方法。
该注释可以应用于实体类,映射超类或回调监听器类的方法。 用于setter
如果要每次更新实体时更新实体的属性,可以使用@PreUpdate注释。
使用该注释,您不必在每次更新用户实体时显式更新相应的属性。
preUpdate不允许您更改您的实体。 您只能使用传递给事件的计算的更改集来修改原始字段值。
如果你检查数据库,你会看到,Person实体已经更新,不会看到它们在$ persons变量,直到下次手动检索它们。
在刷新后,您必须执行的操作是从数据库中检索实体以查看其更新值:
@PrePersist
还可以查看@PrePersist注释,帮助您在持久化之前自动填充实体属性。
可以用来在使用jpa的时记录一些业务无关的字段,比如最后更新时间等等。
生命周期方法注解(delete没有生命周期事件)
@PrePersist save之前被调用,它可以返回一个DBObject代替一个空的
@PostPersist save到datastore之后被调用
@PostLoad 在Entity被映射之后被调用
@EntityListeners 指定外部生命周期事件实现类