`
xp9802
  • 浏览: 1188222 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Hibernate 常见异常

阅读更多

1.错误异常:

Java代码  

  1. org.hibernate.InstantiationException: No default constructor for entity: com.tks.skyproject.model.ImplementLogAttach  

  2. at org.hibernate.tuple.PojoInstantiator.instantiate(PojoInstantiator.java:90)  

  3. at org.hibernate.tuple.PojoInstantiator.instantiate(PojoInstantiator.java:106)  

  4. at org.hibernate.tuple.AbstractEntityTuplizer.instantiate(AbstractEntityTuplizer.java:344)  

  5. at org.hibernate.persister.entity.AbstractEntityPersister.instantiate(AbstractEntityPersister.java:3272)  

  6. at org.hibernate.impl.SessionImpl.instantiate(SessionImpl.java:1239)  

  7. at org.hibernate.impl.SessionImpl.instantiate(SessionImpl.java:1228)  

  8. at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1291)  

  9. at org.hibernate.loader.Loader.getRow(Loader.java:1197)  

 错误分析:构造函数出了问题 到类里一看 默认构造函数被删了
错误解决:到类里写上无参构造方法。

 

为什么要加无参数的构造方法?

原因:当查询的时候返回的实体类是一个对象实例,是hibernate动态通过反射生成的,反射的Class.forName("className").newInstance();需要对应的类提供一个无参构造函数

 

2.错误异常:

Java代码  

  1. org.hibernate.HibernateException: identifier of an instance of com.org.model.MyClass was altered from 7 to 1  

  2.     at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:85)  

  3.     at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:190)  

  4.     at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:147)  

  5.     at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)  

 原因:如果我们从数据库load/get一个对象出来,虽然对它没调用update方法,但是在提交事务时候,hibernate仍要把当前对象和session中对象做比较,一旦修改了该对象某个属性,hibernate会自动执行更新操作的。导致缓存中的id和数据库中的id不一致。所以报错。

在Hibernate中是不允许修改主键的。

分享到:
评论

相关推荐

    hibernate 常见异常

    hibernate 常见异常非常不错的,hibernate 常见异常非常不错的

    hibernate常见异常针对于jpa

    hibernate常见异常,hibernatejpa注解使用开发的解决方案

    hibernate常见异常

    整理了hibernate常见的异常,有了此文档,开发中遇到的Hibernate异常调试更轻松

    Java常见异常集-Java,Hibernate,Tomcat异常

    包含异常现象,说明,处理方法,主要为Java常见的异常,Hibernate常见异常等等

    java开发常见错误异常

    html标签的常见错误,mysql常见错误异常,oracle常见错误异常,连接池异常,maven常见异常,hibernate常见异常,struts2常见异常等.

    Hibernate映射导致的几个异常

    Hibernate映射导致的几个常见异常

    Hibernate+中文文档

    11.1.4. 常见问题 11.2. 数据库事务声明 11.2.1. 非托管环境 11.2.2. 使用JTA 11.2.3. 异常处理 11.2.4. 事务超时 11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查...

    hibernate3.2中文文档(chm格式)

    11.2.3. 异常处理 11.2.4. 事务超时 11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱...

    HibernateAPI中文版.chm

    11.2.3. 异常处理 11.2.4. 事务超时 11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱...

    Hibernate中文详细学习文档

    11.1.4. 常见问题 11.2. 数据库事务声明 11.2.1. 非托管环境 11.2.2. 使用JTA 11.2.3. 异常处理 11.2.4. 事务超时 11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查...

    Hibernate 中文 html 帮助文档

    11.1.4. 常见问题 11.2. 数据库事务声明 11.2.1. 非托管环境 11.2.2. 使用JTA 11.2.3. 异常处理 11.2.4. 事务超时 11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application...

    最全Hibernate 参考文档

    11.1.4. 常见问题 11.2. 数据库事务声明 11.2.1. 非托管环境 11.2.2. 使用JTA 11.2.3. 异常处理 11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking...

    hibernate 体系结构与配置 参考文档(html)

    异常处理 11.2.4. 事务超时 11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱管对象...

    Hibernate教程

    12.1.4. 常见问题 12.2. 数据库事务声明 12.2.1. 非托管环境 12.2.2. 使用JTA 12.2.3. 异常处理 12.3. 乐观并发控制(Optimistic concurrency control) 12.3.1. 应用程序级别的版本检查(Application version ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    2.4 目前市场上常见的轻量级J2EE开发容器 2.5 小结 第二篇 建立和使用J2EE的开发平台 第三章 建立Java的开发平台 3.1 建立Java的开发环境 3.1.1 下载JDK 3.1.2 安装JDK 3.1.3 设定Path、Classpath和JAVA_HOME 3.2 ...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    11.2.3. 异常处理 11.2.4. 事务超时 11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    2.4 目前市场上常见的轻量级J2EE开发容器 2.5 小结 第二篇 建立和使用J2EE的开发平台 第三章 建立Java的开发平台 3.1 建立Java的开发环境 3.1.1 下载JDK 3.1.2 安装JDK 3.1.3 设定Path、Classpath和JAVA_HOME 3.2 ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    2.4 目前市场上常见的轻量级J2EE开发容器 2.5 小结 第二篇 建立和使用J2EE的开发平台 第三章 建立Java的开发平台 3.1 建立Java的开发环境 3.1.1 下载JDK 3.1.2 安装JDK 3.1.3 设定Path、Classpath和JAVA_HOME 3.2 ...

    hibernate3.04中文文档.chm

    12.1.4. 常见问题 12.2. 数据库事务声明 12.2.1. 非托管环境 12.2.2. 使用JTA 12.2.3. 异常处理 12.3. 乐观并发控制(Optimistic concurrency control) 12.3.1. 应用程序级别的版本检查(Application version ...

    Hibernate3+中文参考文档

    11.1.4. 常见问题 11.2. 数据库事务声明 11.2.1. 非托管环境 11.2.2. 使用JTA 11.2.3. 异常处理 11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking...

Global site tag (gtag.js) - Google Analytics