错误原因:在通过hibernate指示生成两个表之间的外键关系之后,一个表中引用的外键不在另一个表的参考范围里面。
解决:使之满足参考完整性
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing
错误原因:在将classes持久化到数据库之前数据库中并没有students表
public void add() { Session session = sessionFactory.openSession(); session.beginTransaction(); Set students = new HashSet(); for(int i =0;i<5;i++){ Students s = new Students(); s.setAddress(null); s.setGender(null); s.setName("num"+i); s.setClassnum(1); s.setClassnum(1); students.add(s); } Classes c = new Classes(); c.setClass_name("cs_1"); c.setStudents(students); session.save(c); session.getTransaction().commit(); session.close(); }
解决:在classes(即一方)xml中配置cascade=all
时间: 2024-10-04 22:44:26