onSave()(用于使用Hibernate / Spring Data Repositories保存的任何实体)
如果我的实体已计算字段应在保存到数据库之前更新(db insert
或update
)如何在Hibernate或Spring Data Repository save()
之前挂钩方法调用
我认为最好的选择是使用@PrePersist
和@PreUpdate
注释的EntityListener
,为您的实体监听器创建配置,您将可以访问要保存的每个实例,每次尝试时都会调用此方法使用hibernate或spring数据存储库保留或更新某些内容
public class EntityToPersistListener{ @PrePersist @PreUpdate public void methodExecuteBeforeSave(final EntityToPersist reference) { //Make any change to the entity such as calculation before the save process reference.setAmount(xxxx) } }
您只需在实体bean上方添加注释即可
@Entity @Table(name = "", schema = "", catalog = "") @EntityListeners(EntityToPersistListener.class) public class EntityToPersist implements Serializable {
查看此链接以获取进一步参考