在开发中,经常会遇到修改数据模型的字段类型,或者添加字段,若是最后把该字段类型映射为boolean,就可能会出问题。
准确的说,若是该字段是空(不是Y或N,或者别的可以映射为boolean合理值),并被映射为boolean的话,因为hibernate不知道怎么去映射该字段,然后hibernate就抛出下列异常(如下),注意异常描述,看着这个错误信息,很难和错误原因联系起来
org.springframework.orm.hibernate3.HibernateSystemException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.company.project.domain.manage.AgentOfCenterCheckResult.setSubmit; nested exception is org.hibernate.PropertyAccessException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.company.project.domain.manage.AgentOfCenterCheckResult.setSubmit
org.hibernate.PropertyAccessException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.company.project.domain.manage.AgentOfCenterCheckResult.setSubmit
at org.hibernate.tuple.PojoEntityTuplizer.setPropertyValuesWithOptimizer(PojoEntityTuplizer.java:215)
at org.hibernate.tuple.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:185)
at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3232)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
at org.hibernate.loader.Loader.doQuery(Loader.java:717)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1533)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at org.springframework.orm.hibernate3.HibernateTemplate$5.doInHibernate(HibernateTemplate.java:520)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.loadAll(HibernateTemplate.java:516)
at com.company.project.framework.BaseDAOImpl.list(BaseDAOImpl.java:92)
at com.company.project.module.manage.dao.AgentOfCenterCheckResultDAOImplTest.testHibernateMap(AgentOfCenterCheckResultDAOImplTest.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: net.sf.cglib.beans.BulkBeanException
at com.company.project.domain.manage.AgentOfCenterCheckResult$$BulkBeanByCGLIB$$174c0f99.setPropertyValues(<generated>)
at org.hibernate.tuple.PojoEntityTuplizer.setPropertyValuesWithOptimizer(PojoEntityTuplizer.java:212)
... 33 more
Caused by: java.lang.NullPointerException
... 35 more
分享到:
相关推荐
在开发Java应用程序,特别是涉及到持久化层操作时,Hibernate是一个常用的ORM(对象关系映射)框架。然而,由于各种依赖库的问题,可能会遇到多种异常。本文将深入探讨Hibernate常见的异常,以及与之相关的依赖库。 ...
当Hibernate尝试保存一个实体时,如果该实体中的某个被标记为`@NotNull`或在映射文件中定义为`not-null="true"`的属性值为null或者指向一个尚未持久化的瞬态(transient)对象,就会抛出此异常。解决方法是确保在...
博客链接指向的是ITEYE上的一篇博客文章,作者高泉阳分享了他的经验,我们可以从中获取更具体的错误分析和解决方法。 在标签中,“源码”意味着我们将深入到Hibernate的内部代码来理解问题,而“工具”可能指的是...
本文将针对几个常见的Hibernate异常进行详细解析,并提供相应的解决策略。 #### 1. **DOM4J DocumentException: Invalid byte 2 of 2-byte UTF-8 sequence** **异常描述:** 当Hibernate尝试解析一个XML配置文件时...
13. **Hibernate的LazyInitializationException**:当试图初始化一个代理对象,但其所属的Session已关闭时,会抛出此异常。解决方法是确保在Session关闭前完成懒加载操作,或考虑使用Eager Loading或Open Session In...
Hibernate是由 Gavin King 创建的一个开源项目,它提供了一种在Java应用中持久化对象到关系数据库的解决方案。通过ORM,Hibernate将对象模型与关系数据库模型进行映射,使得开发人员可以使用面向对象的方式来处理...
《Hibernate配置常见错误详解》 Hibernate,作为Java领域中广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作。...通过以上分析,我们可以更有效地避免和解决Hibernate配置中的常见错误,提高开发效率。
本文将针对几个常见的Hibernate错误进行深入分析,并提供相应的解决方法。这些错误包括但不限于 `org.springframework.orm.ObjectRetrievalFailureException`、`org.springframework.beans.factory....
### Hibernate常见错误解析 #### 一、`java.lang.NoClassDefFoundError`:net/sf/ehcache/CacheException 在启动Hibernate时遇到此类错误通常是因为类路径(Classpath)中缺失必要的jar包。具体到这个例子中,问题...
Hibernate Tools 提供了一个 HQL 编辑器,支持语法高亮、自动补全和错误检查,帮助开发者编写和调试查询。 6. **数据库浏览器**:工具集还包含了数据库浏览器,可以在 Eclipse 中直接查看和操作数据库,无需离开 ...
然而,在实际应用中,用户遇到了一个严重的bug,该bug导致了程序无法正常启动,具体表现为log4j警告信息的输出和Hibernate配置解析失败。 ### 关键知识点分析 #### 1. Log4j警告信息 在日志中,首先出现的是关于...
这个异常通常意味着代码试图调用一个null对象的方法或属性。在Spring、Hibernate和Struts框架中,这可能发生在依赖注入未正确完成的情况下,例如某个Bean没有被正确实例化,或者配置文件中的路径、名称等信息有误...
Hibernate就是ORM的一个代表,通过它,我们可以避免直接编写SQL语句,减少错误并提高可移植性。 2. **设计模式**:模仿Hibernate,我们需要理解其背后的设计模式,如工厂模式(用于创建数据库连接)、单例模式...
### 三、MyEclipse配置Hibernate步骤及常见错误分析 #### 3.1 配置步骤 1. **创建项目**:首先,在MyEclipse中创建一个新的Java项目。 2. **添加依赖库**:通过MyEclipse的构建路径或Maven仓库添加Hibernate相关的...
### Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合常见错误 在使用Struts2.1.6、Spring2.5.6与Hibernate3.3.1进行框架整合时,开发者经常会遇到一些常见的问题。这些问题可能会导致程序无法正常运行或出现异常...
通常情况下,一个应用程序只需要一个SessionFactory实例即可。 - **Configuration**: 用于配置Hibernate的环境参数,并加载映射文件。 - **Transaction**: 提供了事务控制功能,确保一组操作要么全部成功要么全部...
Struts作为MVC(Model-View-Controller)架构的一部分,主要用于控制应用程序的流程,而Hibernate则是一个对象关系映射(ORM)工具,帮助开发者将数据库操作与业务逻辑解耦。 在"Struts+Hibernate电子留言系统"中,...