我在使用手动事务时插入/更新 3 个表。我想在事务提交后立即插入历史表。这意味着有 3 个em.persist
动作(每个表),只有在提交它们之后,我才想调用一个方法。
这是我的代码:
@Resource
private EJBContext context;
public void save(Object obj)
{
try
{
transaction = context.getUserTransaction();
transaction.begin();
em.persist(obj);
sb2.save(obj); //persist in sb2
sb3.save(obj); //persist in sb2
transaction.commit();
}
catch (Exception exp)
{
transaction.rollback();
}
}
有没有一种 post commit 方法?如何在提交之后调用方法,而不是在持久化之后?