首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate工作单元

Hibernate工作单元
EN

Stack Overflow用户
提问于 2013-10-05 09:48:45
回答 1查看 721关注 0票数 0

我有两个实体,entity1和entity2,由Hibernate管理,如果在保存entity1时出现错误,entity2一定不能保存。因此,这里的工作单元由两个单独的实体组成:要么都保存,要么都不保存。我当前的代码如下所示:

代码语言:javascript
复制
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; 
 }

在客户端方法中:

代码语言:javascript
复制
 public void submitData()
 {
  int res = Entity1DAO.saveEntity1();
  if(res==1)
  {
  Entity2DAO.saveEntity2();
  }
 }

我是否可以在同一个事务中持久化这两个实体,这样我就不必在客户端方法中使用if语句了?

EN

回答 1

Stack Overflow用户

发布于 2013-10-06 13:24:42

您可以编写另一个方法并在其中启动事务。

代码语言:javascript
复制
anotherMethod(){

      try{
      start tx;
      method1();
      method2();
      end tx;
      }catch(Exception e){
        rollBack tx;           
      }
         }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19193140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档