众所周知,Hibernate使用脏检查 - 也就是说,在DB中它只更改程序实体中已更改的字段。如何知道哪些字段已更改?我可以获得旧价值吗?
答案 0 :(得分:1)
SessionFactory
中有一系列事件监听器SPI,您可以在构造public class MyPreUpdateEventListener implements PreUpdateEventListener {
@Override
public boolean onPreUpdate(PreUpdateEvent event) {
Object[] newState = event.getState();
Object[] oldState = event.getOldState();
/* from this point, you'd need to determine the differences yourself */
}
}
期间实现和注册,您可以在其中获取您询问的状态信息。例如:
web_kanban