一对多,一端设置:
<set name="TWorkorderHistories" inverse="true" cascade="all">
一)保存级联
问题:
一方主键数据库中没有,先保存多方时,回报引用暂时态对象错误,
分析:
先不关联多方地保存一方,
解决:
假设一方A,多方B
1)B.setA(A);
2)A.getSetB().add(B);
3)session.save(A);
或:
1 // 插入记录 2 session.saveOrUpdate(workorder); 3 tr.commit(); 4 session.close(); 5 6 session = hibernateDao.getHSession(); 7 tr = session.beginTransaction(); 8 // 添加工单历史 9 TWorkorderHistory tWorkorderHistory = new TWorkorderHistory(workorder, 10 pureUser, 1L, new Timestamp(new Date().getTime()), Short 11 .parseShort("0")); 12 13 session.saveOrUpdate(tWorkorderHistory); 14 workorder.getTWorkorderHistories().add(tWorkorderHistory); 15 16 // 插入记录 17 tr.commit(); 18 session.close();