今天写项目时,在使用hibernate封装的插入方法时,由于需要同时保存多个数据,导致出现identifier of an instance of

如下代码 :(由于最大最小分数不同所以需要插入两条数据)

ExamScoreDivide examScoreDivide=new ExamScoreDivide();
ExamCourse examCourse=new ExamCourse();
examCourse.setExamCourseId(examCourseId); Exam exam=new Exam();
exam.setExamId(examId); examScoreDivide.setDivideId(StringUtil.getUuid());
examScoreDivide.setMinScore(minScore1);
examScoreDivide.setMaxScore(maxScore1);
examScoreDivide.setExamCourse(examCourse);
examScoreDivide.setExam(exam);
examScoreDivide.setCreator(userInfo.getUserName());
examScoreDivide.setCreateTime(DateUtil.currentDate());
examScoreDivide.setDivideName(divideName);
gradExamScoreDivideService.save(examScoreDivide); examScoreDivide.setDivideId(StringUtil.getUuid());
examScoreDivide.setMinScore(minScore2);
examScoreDivide.setMaxScore(maxScore2);
examScoreDivide.setExamCourse(examCourse);
examScoreDivide.setExam(exam);
examScoreDivide.setCreator(userInfo.getUserName());
examScoreDivide.setCreateTime(DateUtil.currentDate());
examScoreDivide.setDivideName(divideName);
gradExamScoreDivideService.save(examScoreDivide);

但结果报该错误,后来知道了原因:

报错的原因是,在没有给对象examScoreDivide 分配初始的内存地址的时候,就进行对象生成,不管生成多少个,都是多个对象的内存指针指向一个内存地址,所以hibernate在存储时就会保存。放在内存里面每次new就等一个新的内存空间,所以不会报错。

解决后的代码:

ExamScoreDivide examScoreDivide=new ExamScoreDivide();
ExamCourse examCourse=new ExamCourse();
examCourse.setExamCourseId(examCourseId); Exam exam=new Exam();
exam.setExamId(examId); examScoreDivide.setDivideId(StringUtil.getUuid());
examScoreDivide.setMinScore(minScore1);
examScoreDivide.setMaxScore(maxScore1);
examScoreDivide.setExamCourse(examCourse);
examScoreDivide.setExam(exam);
examScoreDivide.setCreator(userInfo.getUserName());
examScoreDivide.setCreateTime(DateUtil.currentDate());
examScoreDivide.setDivideName(divideName);
gradExamScoreDivideService.save(examScoreDivide); ExamScoreDivide examScoreDivide1=new ExamScoreDivide();
ExamCourse examCourse1=new ExamCourse();
examCourse1.setExamCourseId(examCourseId); Exam exam1=new Exam();
exam1.setExamId(examId); examScoreDivide1.setDivideId(StringUtil.getUuid());
examScoreDivide1.setMinScore(minScore2);
examScoreDivide1.setMaxScore(maxScore2);
examScoreDivide1.setExamCourse(examCourse1);
examScoreDivide1.setExam(exam1);
examScoreDivide1.setDivideName(divideName);
examScoreDivide1.setCreator(userInfo.getUserName());
examScoreDivide1.setCreateTime(DateUtil.currentDate());
gradExamScoreDivideService.save(examScoreDivide1);

  

Hibernate异常:identifier of an instance of 错误的更多相关文章

  1. 【hibernate】错误:org.hibernate.HibernateException: identifier of an instance of com.agen.entity.Monthdetail was altered from xx to xx

    所报错误: org.hibernate.HibernateException: identifier of an instance of com.agen.entity.Monthdetail was ...

  2. identifier of an instance of xx.entity was altered from xxKey@249e3cb2 to xxKey@74e8f4a3; nested exception is org.hibernate.HibernateException: identifier of an instance of xxentity was altered from错误

    用entityManager保存数据时报错如下 identifier of an instance of xx.entity was altered from xxKey@249e3cb2 to xx ...

  3. 解决org.hibernate.HibernateException: identifier of an instance of com.ahd.entity.Order was altered from2 to 0

    错误信息 严重: Servlet.service() for servlet [springmvc] in context with path [/order] threw exception [Re ...

  4. Caused by: org.hibernate.HibernateException: identifier of an instance of ... is alterde from

    Caused by: org.hibernate.HibernateException: identifier of an instance of ... is alterde from     Hi ...

  5. 161117、使用spring声明式事务抛出 identifier of an instance of

    今天项目组有成员使用spring声明式事务出现下面异常,这里跟大家分享学习下. 异常信息: org.springframework.orm.hibernate3.HibernateSystemExce ...

  6. hibernate 异常

    1.异常:org.hibernate.AnnotationException: No identifier specified for entity异常. entity类是必须要主键的,否则就会报出这 ...

  7. identifier of an instance of com.xxx.model.system.xxxObject was altered from 1765 to 1766

    Caused by: org.hibernate.HibernateException: identifier of an instance of com.xxx.model.system.xxxOb ...

  8. Hibernate 异常总结

    异常一 异常一 异常描述: Sax解析异常:cvc-复杂的类型,发现了以元素maping开头的无效内容,应该是以 ‘{“http://www.hibernate.org/xsd/orm/cfg“:pr ...

  9. spring参数类型异常输出,SpringMvc参数类型转换错误输出

    spring参数类型异常输出, SpringMvc参数类型转换错误输出 >>>>>>>>>>>>>>>> ...

随机推荐

  1. org.apache.commons.httpclient.HttpClient的使用(转)

    HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 java net包中已经提供了访 ...

  2. Animation Starter Pack中动画蓝图事件添加的位置

    可以直接在动画状态机的详情页添加简单事件,跟在动画里添加的通知事件效果一致

  3. 2014-9-27 NOIP模拟赛

    1.栅栏迷宫 田野上搭建了一个黄金大神专用的栅栏围成的迷宫.幸运的是,在迷宫的边界上留出了两段栅栏作为迷宫的出口.更幸运的是,所建造的迷宫是一个“完美的”迷宫:即你能从迷宫中的任意一点找到一条走出迷宫 ...

  4. javascript的程序控制结构及语句------(2)循环控制语句、跳转语句、对话框

    一.循环控制语句 循环语句主要就是在满足条件的情况下反复执行某一个操作,循环控制语句主要包括while语句.do...while语句 和for语句. 1.While语句 语法: While(条件表达式 ...

  5. 坑爹的 Java 可变参数,把我整得够惨。。

    最近在写一个功能点,用了 Java 中的可变参数,真是把我搞得够惨.. 什么是可变参数? 就是方法参数用 Object... args 三个点形式,一个参数可以接收多个参数. 实际的代码就不帖了,来看 ...

  6. How to install your SSL Certificate to your Windows Server

    Installation: Open the ZIP file containing your certificate. Save the file named your_domain_name.ce ...

  7. dom4j解析简单的xml文件 解析元素并封装到对象

    package cn.itcast.xml; import cn.itcast.domain.Book; import org.dom4j.Document; import org.dom4j.Doc ...

  8. 【手撸一个ORM】第八步、查询工具类

    一.实体查询 using MyOrm.Commons; using MyOrm.DbParameters; using MyOrm.Expressions; using MyOrm.Mappers; ...

  9. 解决Linux下SSH等终端乱码问题

    1.vi /etc/sysconfig/i18n Centos5.5原来内容是: //LANG="en_US.UTF-8" //SYSFONT="latarcyrheb- ...

  10. Aspose.word组件介绍

    阅读目录 1.基本介绍 2.文档对象模型概述        本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 本博客其他.NET开 ...