首页 > 代码库 > hibernate映射exception

hibernate映射exception

技术分享

错误原因:在通过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();
    }
View Code

解决:在classes(即一方)xml中配置cascade=all

hibernate映射exception