新人异常:detached entity passed to persist

江边小乌龟 2014-01-21 10:50:45
for (DelStorageInventory delStorageInventory : delStorageInventorys) {

System.out.println(delStorageInventory.getId()); //这个id有值

DelStorageInventoryOut delStorageInventoryOut = new DelStorageInventoryOut();
System.out.println(delStorageInventoryOut.getId()); //这个id为null
delStorageInventoryOut.setSn(this.snDao.generate(Sn.Type.delStorageInventoryOut));
delStorageInventoryOut.setQuantity(delStorageInventory.getQuantity());
delStorageInventoryOut.setMember(this.memberService.getCurrent());
delStorageInventoryOut.setOperator(this.adminService.getCurrent());
delStorageInventoryOut.setDelStorageInventory(delStorageInventory);
this.delStorageInventoryOutService.save(delStorageInventoryOut);
}

我要保存的是DelStorageInventoryOut这个对象,报的异常是DelStorageInventory 这个对象的。DelStorageInventory 这个对象的id是有值,但是我又不保存它。对我保存DelStorageInventoryOut这个对象有影响吗?
异常:
org.hibernate.PersistentObjectException: detached entity passed to persist: com.delawaresaving.entity.DelStorageInventory

求解答,新手不怎么懂。。
...全文
1167 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
save改为saveOrUpdate
loveunittesting 2014-01-21
  • 打赏
  • 举报
回复
怎么关闭session.close().基本就是这个,看你怎么封装了。dao层基本编码 获得session try{ 使用session操作 }catch(Exception ex){ }finally{ 关闭session }
江边小乌龟 2014-01-21
  • 打赏
  • 举报
回复
引用 1 楼 yys79 的回复:
每次访问后session必须关闭,否则上一个操作错误了,下一个操作如果使用同一个session就会报错,而且是上一个错误。
我传值的时候传了DelStorageInventory这个对象的id及属性过来的,因为我要对这个对象进行更新操作。保存DelStorageInventoryOut对象,也需要用DelStorageInventory对象的值进行保存。 session,怎么关闭呀??关闭了还能用传进来的值吗?
loveunittesting 2014-01-21
  • 打赏
  • 举报
回复
每次访问后session必须关闭,否则上一个操作错误了,下一个操作如果使用同一个session就会报错,而且是上一个错误。
zyrobert 2014-01-21
  • 打赏
  • 举报
回复
把这个pojo的hbm.xml发上来看看这两个对象的映射关系

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧