【发布时间】:2013-07-07 11:05:34
【问题描述】:
我在使用手动事务时插入/更新 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 方法? 如何在提交之后而不是在持久化之后调用方法?
【问题讨论】: