楼主 我想应该是你的配置文件中 one-to-many部分的inverse和cascade属性设置的问题在pmgr.getPerson(orderForm.getPersonId()));
这个method 你应该是在另一个session中例如sessionTwo创建了一个person的PO你在saveOrder的过程,使用当前的session sessionOne尝试保存order,由于级联操作触发保存personPO的操作,但是这个PO是从属于sessionTwo的,所以导致了这种异常建议:
将同一session注入到mgr和pmgr中,也就是确保你的order PO和person PO处于同一session中hope that help ^_^
这个method 你应该是在另一个session中例如sessionTwo创建了一个person的PO你在saveOrder的过程,使用当前的session sessionOne尝试保存order,由于级联操作触发保存personPO的操作,但是这个PO是从属于sessionTwo的,所以导致了这种异常建议:
将同一session注入到mgr和pmgr中,也就是确保你的order PO和person PO处于同一session中hope that help ^_^
解决方案 »
- 关于hibernate一个实体类对应多个表的问题
- jasperReport+IReport中关于横向显示的问题
- 为什么加了sql包还会出现PrepareStatement不能用
- jsp中使用ckeditor的相关问题
- 急急 struts 连接池配置怎么不行啊,还有,这种方式好不好用,常用哪种方式
- 测试3
- Hibernate里的一个查询语句
- 在用axis编写客户端的时候出现一个doesn't match the number of IN/INOUT parameters错误。
- 在98系统下,数据库为sql server7.0,从那里可下载到jdbc?及如何配置?在线等,多谢!
- 在线请教:javax.xml.transform.stream.*为什么导不进来?
- 不好意思,就10分:(, 问个简单socket问题
- 大家好!工作4年,在职java程序员,希望和大家交流!里面有我的MSN,顶者有分!
mgr.saveOrder(order, orderForm.getPersonId());在manager里save方法改成
public void saveOrder(Order order, String personId) {
order.setPerson(pdao.getPerson(Integer.valueOf(personId)));
dao.saveOrder(order);
}
可是现在调用save方法还要加个参数,你提到关联设置有问题,我的是这样的Person.hbm.xml<set name="orders" inverse="true" cascade="all,delete-orphan">
<key>
<column name="person_id" not-null="true" />
</key>
<one-to-many class="com.myshop2.model.Order" />
</set>Order.hbm.xml<many-to-one name="person" class="com.myshop2.model.Person" fetch="select" cascade="none">
<column name="person_id" not-null="true" />
</many-to-one>order的cascade="none"已经设置了,我应该怎么修改呢,谢谢。
RoleManager roleMgr = (RoleManager) getBean("roleManager");
String[] userRoles = request.getParameterValues("userRoles");for (int i = 0; userRoles != null && i < userRoles.length; i++) {
String roleName = userRoles[i];
user.addRole(roleMgr.getRole(roleName));
}
mgr.saveUser(user);
他这样怎么就没问题呢
这句话肯定会报错的,把这个处理放到service层中,然后用spring接管事务就ok了。
mgr.saveOrder(order, orderForm.getPersonId());
service层怎么写才能使用mgr.saveOrder(order)而不报错,是不是也要在order serviece层里加一个person dao和一个getPerson()方法,哪种写法才正确呢。
不一定非要再用一次dao和getPerson()。