Hibernate中的脏检查

时间:2016-06-12 10:31:49

标签: hibernate

众所周知,Hibernate使用脏检查 - 也就是说,在DB中它只更改程序实体中已更改的字段。如何知道哪些字段已更改?我可以获得旧价值吗?

1 个答案:

答案 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