想象一个相当复杂的服务器调用,跨越多个组件,所有组件都包装在一个事务中。一个组件可以使用saveOrUpdate
. 另一个组件可以访问这个实体,但需要知道它是在这个会话中还是之前创建的。我怎样才能实现它?
理想情况下,寻找wasCreatedInThisSession
如下布尔调用:
public void myTransactionalMethod() {
MyEntity e1 = session.load(MyEntity.class, 15);
session.wasCreatedInThisSession(e1); // -> false
MyEntity e2 = new MyEntity("Test");
session.saveOrUpdate(e2);
session.wasCreatedInThisSession(e2); // -> true
}