手動トランザクションの使用中に 3 つのテーブルを挿入/更新しています。トランザクションがコミットされた直後に履歴テーブルに挿入したい。つまり、em.persist
(テーブルごとに) 3 つのアクションがあり、それらをコミットした後にのみメソッドを呼び出したいと考えています。
これは私のコードです:
@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();
}
}
コミット後の方法はありますか?永続化後ではなく、コミット後にメソッドを呼び出すにはどうすればよいですか?