想象一下相当复杂的服务器调用跨越多个组件,所有组件都包含在单个事务中。一个组件可以使用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
}