Hibernate异常:identifier of an instance of 错误
今天写项目时,在使用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 错误的更多相关文章
- 【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 ...
- 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 ...
- 解决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 ...
- 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 ...
- 161117、使用spring声明式事务抛出 identifier of an instance of
今天项目组有成员使用spring声明式事务出现下面异常,这里跟大家分享学习下. 异常信息: org.springframework.orm.hibernate3.HibernateSystemExce ...
- hibernate 异常
1.异常:org.hibernate.AnnotationException: No identifier specified for entity异常. entity类是必须要主键的,否则就会报出这 ...
- 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 ...
- Hibernate 异常总结
异常一 异常一 异常描述: Sax解析异常:cvc-复杂的类型,发现了以元素maping开头的无效内容,应该是以 ‘{“http://www.hibernate.org/xsd/orm/cfg“:pr ...
- spring参数类型异常输出,SpringMvc参数类型转换错误输出
spring参数类型异常输出, SpringMvc参数类型转换错误输出 >>>>>>>>>>>>>>>> ...
随机推荐
- centos7及以上安装git服务
检查git是否安装或者是版本 whereis git等命令来检查是否已经安装了git版本的 git --version检测到我的环境自带的git版本 已安装但不是想要的版本需要卸载 yum remov ...
- 省选准备 MISTAKE 大全
2019-03-29 [NOI2016]网格 如果是矩形,要记得考虑n或m=1的情况,不要潜意识里就以为矩形就是接近正方形的那种理想矩形. 写bool型的函数,return 的语句要想清楚,不要放错位 ...
- linux查找工具(find,locate,whrers)
find whereis locate 一.whereis whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数, ...
- CentOS6.7 i686上安装JDK7
内核版本: [root@heima01 java]# uname -a Linux heima01 2.6.32-573.el6.i686 #1 SMP Thu Jul 23 12:37:35 UTC ...
- CreateJS介绍-了解CreateJS
1.CreateJS 一款HTML5游戏开发引擎 CreateJS 是一套可以构建丰富交互体验的 HTML5 游戏的开源工具包,旨在降低 HTML5 项目的开发难度和成本,让开发者以熟悉的方式打造更具 ...
- CodeForces - 851B -Arpa and an exam about geometry(计算几何)
Arpa is taking a geometry exam. Here is the last problem of the exam. You are given three points a, ...
- python2 学习 数据类型和变量
数据类型和变量 数据类型 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时 ...
- 在MasterPage中检验session是否存在~
在母板頁中檢查user是否登入過,這樣就不用在每個頁中去作檢驗.在其Init事件中寫入如下代碼: protected void ContentPlaceHolder1_Init(object ...
- .net程序员业余Android开发赚点外快(介绍一下自己的经验)
记得是11年10月份开始研究android的,当时还不会java,听说android比较火,自己也买了个垃圾android机,平时工作也不是特别忙,于是我就突发奇想,想试试做一下android应用可不 ...
- JAVA基础之网络通信协议--TCP与UDP
个人理解: 了解区分UDP与TCP的不同,正常情况都是两者结合的使用模式!为了更好的传输,经常会开多线程进行传输的! 一.网络通信协议: 1.TCP/IP协议: 四层:应用层.传输层.网络层和链路层: ...