帮忙看看 很简单的:)-- 写个service方法将两个insert操作看为一个事物处理 与原来一张表差不多 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我比较笨 没明白给你们个例子:用户名:密码:机车法拉利 数量 凯迪拉克 数量布加迪 数量 劳斯莱斯 数量 在这个注册表里 一张用户表 一张机车表在dao里怎么写? 写2个方法,一个方法对应一个表的insert 你项目只有三层架构吧 表现层 DAO层 控制层(Action) 你可以加一业务逻辑层 service层 因为具体的业务不可能总是单一dao层的方法就可以完成的 ,比如现在:需insert两张表,即dao层的两个insert方法。你可以在service层中定义一个方法如:register()方法 1.开启事物2.调用dao层的那两个insert方法3.提交事物 (当全部成功时,submit 有不成功时 回滚事物) 用户名: 密码: 机车 法拉利 数量 凯迪拉克 数量 布加迪 数量 劳斯莱斯 数量 public void save(User user) { getHibernateTemplate().save(bid); } public void save(Mac mac) { getHibernateTemplate().save(mac); }这样吗?? 唉 我要疯掉了 取同一个session进行操作,打开事务,session.save(a1);foreach(B b: bList){session.save(b);}然后提交,失败rollback,如果有外键关联的比如onetomany,尤其注意同一对象在session中同时只能存在一个, 写2个dao分别针对用户表和机车表操作,然后一个service调用这2个dao 哈哈,这点小问题你就要疯掉啊!帮你写了个,已经调试通过。你自己看看代码。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; }} 想要看全部源代码的话留下你的Email地址 刚刚使用jaxb将类数组生成XML文件产生问题 【高分请教】一个挠头的hibernate关系问题! ant使用 50分求救:调用JAVA的XFire的WebService使用自定义类,出现问题 struts(/jsf)+spring+hibernate好书推荐! 如何实现动态value值?急... spring的框架aop应用 如何能在petstore中添加调试信息? java中的程序模块又称为package(包)和 什么 ??? 在线等,如何在java中取得系统当前日期? jacob问题 spring的TransactionTemplate的疑惑
给你们个例子:用户名:
密码:
机车
法拉利 数量 凯迪拉克 数量
布加迪 数量 劳斯莱斯 数量 在这个注册表里 一张用户表 一张机车表
在dao里怎么写?
1.开启事物
2.调用dao层的那两个insert方法
3.提交事物 (当全部成功时,submit 有不成功时 回滚事物)
密码:
机车
法拉利 数量 凯迪拉克 数量
布加迪 数量 劳斯莱斯 数量 public void save(User user)
{
getHibernateTemplate().save(bid);
}
public void save(Mac mac)
{
getHibernateTemplate().save(mac);
}这样吗?? 唉
我要疯掉了
session.save(a1);
foreach(B b: bList){
session.save(b);
}
然后提交,失败rollback,
如果有外键关联的比如onetomany,尤其注意同一对象在session中同时只能存在一个,
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;
}}
想要看全部源代码的话留下你的Email地址