写个service方法将两个insert操作看为一个事物处理  
与原来一张表差不多 

解决方案 »

  1.   

    我比较笨 没明白
    给你们个例子:用户名:
    密码:
    机车
    法拉利 数量 凯迪拉克 数量
    布加迪 数量 劳斯莱斯 数量 在这个注册表里 一张用户表 一张机车表
    在dao里怎么写?
      

  2.   

    写2个方法,一个方法对应一个表的insert
      

  3.   

    你项目只有三层架构吧   表现层  DAO层  控制层(Action)  你可以加一业务逻辑层   service层   因为具体的业务不可能总是单一dao层的方法就可以完成的 ,比如现在:需insert两张表,即dao层的两个insert方法。你可以在service层中定义一个方法如:register()方法 
    1.开启事物
    2.调用dao层的那两个insert方法
    3.提交事物   (当全部成功时,submit   有不成功时 回滚事物)
      

  4.   

    用户名: 
    密码: 
    机车 
    法拉利 数量 凯迪拉克 数量 
    布加迪 数量 劳斯莱斯 数量  public void save(User user)
        {
            getHibernateTemplate().save(bid);
        }
     public void save(Mac mac)
        {
            getHibernateTemplate().save(mac);
        }这样吗?? 唉 
    我要疯掉了 
      

  5.   

    取同一个session进行操作,打开事务,
    session.save(a1);
    foreach(B b: bList){
    session.save(b);
    }
    然后提交,失败rollback,
    如果有外键关联的比如onetomany,尤其注意同一对象在session中同时只能存在一个,
      

  6.   

    写2个dao分别针对用户表和机车表操作,然后一个service调用这2个dao
      

  7.   

    哈哈,这点小问题你就要疯掉啊!帮你写了个,已经调试通过。你自己看看代码。
    dao:
    ___________________________________
    import com.wxw.model.User; public interface UserDao {
     public void save(User user);
    }
    _____________________________________import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.wxw.dao.UserDao;
    import com.wxw.model.User;public class UserDaoHibernate extends HibernateDaoSupport implements UserDao { public void save(User user) {
    this.getHibernateTemplate().save(user);
    }
    }
    ___________________________________________import com.wxw.model.Car;
    public interface CarDao {
      public void save(Car car);
    }
    _______________________________import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.wxw.dao.CarDao;
    import com.wxw.model.Car;public class CarDaoHibernate extends HibernateDaoSupport implements CarDao { public void save(Car car) {
    this.getHibernateTemplate().save(car);
    }
    }
    _____________________________________
    service:
    import com.wxw.dao.CarDao;
    import com.wxw.dao.UserDao;
    import com.wxw.model.Car;
    import com.wxw.model.User;public class UserMessageService {
          private UserDao userDao;
          private CarDao carDao;
          public void save(User user ,Car car){
          userDao.save(user) ;
          carDao.save(car);
          }
    public void setUserDao(UserDao userDao) {
    this.userDao = userDao;
    }
    public void setCarDao(CarDao carDao) {
    this.carDao = carDao;
    }
    }
    _____________________________________
    action:
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import com.wxw.form.UserMessageForm;
    import com.wxw.model.Car;
    import com.wxw.model.User;
    import com.wxw.service.UserMessageService;public class UserLoginAction extends Action {

    private UserMessageService userMessageService; @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
            UserMessageForm userMessageForm=(UserMessageForm)form;
            User user=new User();
            Car car=new Car();
            
            user.setUsername(userMessageForm.getUsername());
            user.setPassword(userMessageForm.getPassword());
            car.setName(userMessageForm.getName());
            car.setCarnumber(userMessageForm.getCarnumber());
            
            userMessageService.save(user, car);
            
            return mapping.findForward("success");
    } public void setUserMessageService(UserMessageService userMessageService) {
    this.userMessageService = userMessageService;
    }}
      

  8.   


    想要看全部源代码的话留下你的Email地址