`

Hibernate 错误原因总结

阅读更多

1、错误: object references an unsaved transient instance  save the transient instance before flushing
  
 错误原因:
  
  只是生成的对象的id==null,因此,系统以为TraveCode对象存在,而TraveCode.id=null ,所以抛出此异常


 if(job.getWorkCondition().getTraveCode()!=null && job.getWorkCondition().getTraveCode().getId()==null){
  job.getWorkCondition().setTraveCode(null);
 }

 

 

2、解决a different object with the same identifier value was already associated with the session错误  

        错误原因: 因为在hibernate中同一个session里面有了两个相同标识但是是不同实体

 

只需要进行session.clean()操作就可以解决了,但是你在clean操作后面又进行了saveOrUpdate(object)操作,有可能会报出"Found two representations of same collection",

 

其中这篇文章帮助最大http://opensource.atlassian.com/projects/hibernate/browse/HHH-509

 

最后 通过session.refresh(object)方法就可以解决了,注意,当object不是数据库中已有数据的对象的时候,不能使用 session.refresh(object)因为refresh是从hibernate的session中去重新取object,

 

如果session中没有这个对象,则会报错所以当你使用saveOrUpdate(object)之前还需要判断一下

 

当然这个问题最容易解决的办法还是使用Hibernate里面自带的merge() 方法。不过我始终觉得碰到问题就用这种软件自带的非常用方法(和saveOrUpdate(),save(),update()相比)感觉十分不爽。

 

 

3、 Hibernate 中使用  oracle 中的 函数

         可使用

         case when 条件  then 结果1 else  结果2

 

     public List unassignAccountStatistics(Session ses,IndexPager pager){


           StringBuffer innerHQL = new StringBuffer(" from Company com inner join com.clerkBD cBD join cBD.department dep inner join com.accounts account ");


           innerHQL.append(" where (com.source=5 or com.source is null)");


           innerHQL.append(" group by cBD.id,cBD.name,dep.name");


           Query innerQuery = ses.createQuery("select new map(dep.name as depName,cBD.id as empId,cBD.name as empName,count(com.id)

                as        total,                                        sum(account.state) as  readNum,count(account.applyPublish) as applyNum, 

             sum(case when account.deleted=1 then 1 else 0 end) as delNum ) "  + innerHQL.toString());

 


           Query countQuery = ses.createQuery("select count(*) from Employee emp where emp = some (select bd from Company com inner join

                         com.clerkBD bd where             com.source=5 or com.source is null)");


           HibernateUtil.pagingQuery(pager, innerQuery, countQuery);    


           List innerList = innerQuery.list();  


          return innerList;
         }

 

4、net.sf.hibernate.PropertyNotFoundException: Could not find a getter for sitetitle in class dlog4j.formbean.SiteForm

     错误原因:

         由于 POJO 中的 getXXX() 方法的 名称 和 POJO对应的 XML 文件中对应的 属性 名称不一致

   

5、错误1:org.hibernate.HibernateException: createCriteria is not valid without active transaction
解决:错误行是这样的       Criteria criteria = (persondao.getSession())
根据提示 改成这样
Transaction tx = persondao.getSession().beginTransaction();
Criteria criteria = (persondao.getSession());
……
tx.commit();
原因:Criteria不能脱离事务运行

 

6、: Exception in thread "main" org.hibernate.MappingException: Repeated column in mapping for entity: lizhx.n11n.test.User column: room_id (should be mapped with insert="false" update="false")
原因:在 XXX.hbm.xml 里有重复的映射
解决:  
<property   name="RoomId"   column="room_id"   type="integer"   not-null="false"   length="11"/>
<many-to-one name="room" column="room_id" class="lizhx.n11n.test.Room" cascade="all" outer-join="false"/>
由于hibernate自动生成和手动添加的映射room_id影射重复导致的错误~
只需要把<property>映射删除即可……

分享到:
评论

相关推荐

    使用Spring、Hibernate、Struts的一些错误总结.txt

    使用Spring、Hibernate、Struts的一些错误总结.txt

    Hibernate 框架总结

    对 Hibernate 框架的学习总结 映射配置已详细描述,如还是不懂得可以留言,私发你代码,如有错误,欢迎各位大神指点

    SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结

    SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结 SpringMVC spring hibernate 集成 常见问题

    使用Spring、Hibernate、Struts的一些错误总结.mht

    对于java 开发人员来说,他绝对是良品! 对你一定会有帮助的!

    struts+hibernate+spring三大框架整合

    自己总结了一下,终于做出的Struts+Spring+Hibernate整合的小例子,也是最基础的SSH实例,虽然是小例子,但什么程序都是从基础的做起。如果你弄明白了这个小实例,相信你的SSH整合框架技术也会提高很多。 在做本例...

    《冬眠的力量-Hibernate 持久化技术详解》

    《冬眠的力量-Hibernate 持久化技术详解》这本书是本人多年基于Hibernate的系统架构设计以及系统开发经验总结和对Hibernate原理的研究成果。 本书成书于2007年8月,一直作为本人目前就职公司的内部技术手册参考,...

    hibernate 排错 宝典1

    个人经验总结 可以帮助你快快的解决错误异常

    struts+hibernate+mysql操作源码

    这是个人写的利用struts+hibernate+mysql写的源代码。。 是关于一个插入数据的操作。。 便宜啊 。。。个人经验总结啊。。 欢迎大家都来顶啊。。。下次传个更好的。。更大的。。如果有什么错误,,请联系我:85322820...

    ssh(structs,spring,hibernate)框架中的上传下载

    具体实现请参见错误!未找到引用源。节下载文件部分。  2、业务层接口实现类  FileService的实现类为FileServiceImpl,其中save(FileActionForm fileForm)的实现如下所示:  代码 8 业务接口实现类之save() 1. …...

    Java语言基础下载

    显示错误信息的标记 673 其他HTML标记 673 模板标记 673 内容总结 676 独立实践 676 第三十四章:Hibernate基础 677 学习目标 677 Hibernate简介 678 建立简单的Hibernate应用 678 通过 Hibernate API 操纵数据库 ...

    持久层框架ibatis学习笔记

    这篇iBatis 学习笔记是跟着传智播客的视频学习整理的,理解上难免有些错误,请以视频为 根本,有些地方笔记中没有整理到,因为这是我之后看着自己做的工程项目总结的,和视频 不完全一致。请谅解。

    spring杂谈 作者zhang KaiTao

    1.5 SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结 1.6 »Spring 之AOP AspectJ切入点语法详解(最全了,不需要再去其他地找了) 1.7 Spring开闭原则的表现-BeanPostProcessor扩展点-2 1.8 Spring...

    struts2.1宝典

    17.Action之间传递错误验证信息 6 18第一个Ajax例子 Ajax+struts2 6 8.标签 7 8.Select标签 7 9.Checkbox 10 10.checkboxlist 12 11.combobox 14 12.datepicker 17 9.总结 21 10.国际化资源文件占位符 为资源文件...

    达内总结的java最新笔试题core java,sql,web应有尽有

    6. Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构? 7.目前几种主流数据库软件的应用特点、适用范围各是什么? 8.存储过程和函数的区别 9.试述数据库完整保护的主要任务和措施。 10.请...

    ssh三大框架整合所需jar包

    这是本人在尝试好多次后总结的三大框架整合时所需的jar包,解决了三大框架初学者因为jar问题导致错误而找不到原因的问题,欢迎初学者下载。

    Tomcat内存溢出的三种情况及解决办法分析

    但目前的hibernate和spring项目中也很容易出现这样的问题。http://www.javaeye.com/topic/80620?page=1 的帖子有讨论的这个问题。可能是由于这些框架会动态class,而且jvm的gc是不会清理PemGen space的,导致内存...

    DWR中文文档.pdf

    37 4.5 DWR与Weblogic或PageFlow 38 4.6 DWR与Hibernate 39 4.6.1 让DWR和Hibernate一起工作的检查列表 39 4.6.2 HibernateBeanConverter 39 4.6.3 Session管理 39 4.7 DWR与WebWork 40...

    JAVA项目开发全程实录(含电子书和所有源代码)

    7.11.2 为Tiles指定错误页面 347 7.12 使用MyEclipse生成Hibernate 实体类和映射文件 347 7.13 本章总结 351 第8章 企业门户网站(JSP+JavaBean +SQL Server 2000实现) 352 教学视频:1小时9分 8.1 开发背景 353 ...

    Spring面试题

    在对由三部分组成的 Spring 系列 的第 1 部分进行总结时,我使用了一个示例,演示了如何通过 Spring IOC 容器注入应用程序的依赖关系(而不是将它们构建进来)。 我用开启在线信用帐户的用例作为起点。对于该实现,...

    Java学习笔记-个人整理的

    {1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {1.4.1}整数与浮点数}{23}{subsection.1.4.1} {1.4.1.1}浮点数原理}{24}{subsubsection.1.4.1.1} {1.4.2}格式化输出浮点数}{24}{...

Global site tag (gtag.js) - Google Analytics