entity1 と entity2 の 2 つのエンティティが Hibernate によって管理されているため、entity1 の保存中にエラーが発生した場合、entity2 を保存してはなりません。したがって、ここでの作業単位は 2 つの別個のエンティティで構成されています。両方が保存されるか、どちらも保存されないかのいずれかです。私の現在のコードは次のようになります。
public int saveEntity1()
{
a =1;
begin session;
start tx;
save entity1;
commit tx;
when exception
rollback tx;
a=0;
return a;
}
public int saveEntity2()
{
a =1;
begin session;
start tx;
save entity2;
commit tx;
when exception
rollback tx;
a=0;
return a;
}
クライアントメソッドでは:
public void submitData()
{
int res = Entity1DAO.saveEntity1();
if(res==1)
{
Entity2DAO.saveEntity2();
}
}
クライアント メソッドで if ステートメントを使用する必要がないように、同じトランザクション内で 2 つのエンティティを永続化できますか?