spring boot traking更新的值

时间:2018-05-26 00:07:45

标签: java hibernate spring-boot jpa crud

我一直在搜索spring boot,jpa,hibernate上是否有方法或函数知道在保存/更新数据库中的元素之前会更新哪些值,但仍然没有找到任何东西,做类似的事情存在或者我需要为此创建自己的方法吗?

例如: 原始对象: 姓名=约翰 Last_Name = Jhons

新对象: 姓名=约翰 Last_Name =史蒂文斯

更改:从Jhons到Stevens的Last_Name

我有一个想法在Java上做到这一点,但客户希望避免所有不必要的编码。

1 个答案:

答案 0 :(得分:0)

使用Hibernate,您可以实施PreUpdateEvent回调:

public class PreUpdateEventListenerImpl implements PreUpdateEventListener
    public boolean onPreUpdate(PreUpdateEvent event)  {
        Object newEntity=event.getEntity(); 
        Object[] newState = event.getNewState(); // New entity properties
        Object[] oldState = event.getOldState(); // Old entity properties
    }
}