onSave()(用于使用Hibernate / Spring Data Repositories保存的任何实体)

如果我的实体已计算字段应在保存到数据库之前更新(db insertupdate )如何在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 { 

查看此链接以获取进一步参考