码迷,mamicode.com
首页 > Web开发 > 详细

hibernate映射exception

时间:2017-07-12 10:20:22      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:cas   ide   i++   映射   表之间   gen   原因   on()   code   

技术分享

错误原因:在通过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

标签:cas   ide   i++   映射   表之间   gen   原因   on()   code   

原文地址:http://www.cnblogs.com/kundeg/p/7153470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!