`
liyanhui
  • 浏览: 344349 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate异常之表的映射

阅读更多

  在这几天遇到的异常把我郁闷坏了,虽然几个异常提示不一样,但是最后的解决途径是一样的
  下面是几个异常:
1javax.servlet.ServletException: Error creating bean with name 'userServiceProxy' defined in class path resource [spring/applicationContext_user.xml]: Can't resolve reference to bean 'transactionManager' while setting property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [spring/applicationContext_user.xml]: Can't resolve reference to bean 'sessionFactory' while setting property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [spring/applicationContext_user.xml]: Initialization of bean failed; nested exception is org.hibernate.MappingException: Could not determine type for: Long, for columns: [org.hibernate.mapping.Column(DEPTID)]





2javax.servlet.ServletException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.lyh.service.userservice.entity.LyhUser.setDeptid; 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.lyh.service.userservice.entity.LyhUser.setDeptid

         org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)

         org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)

         org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)

         org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)

         org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)

         javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)





root cause



3org.springframework.orm.hibernate3.HibernateSystemException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.lyh.service.userservice.entity.LyhUser.setDeptid; 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.lyh.service.userservice.entity.LyhUser.setDeptid

         org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:661)

         org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:413)

         org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:370)

         org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:817)

         org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:809)

         com.lyh.service.userservice.dao.impl.UserDAOImpl.login(UserDAOImpl.java:41)

         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

         java.lang.reflect.Method.invoke(Method.java:585)

         org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)

         org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)

         $Proxy3.login(Unknown Source)

         com.lyh.service.userservice.manage.impl.UserManageImpl.login(UserManageImpl.java:29)

         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

         java.lang.reflect.Method.invoke(Method.java:585)

         org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)

         org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)

         $Proxy2.login(Unknown Source)

         com.lyh.service.userservice.impl.UserServiceImpl.login(UserServiceImpl.java:47)

         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

         java.lang.reflect.Method.invoke(Method.java:585)

         org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)

         org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)

         $Proxy1.login(Unknown Source)

         com.lyh.web.action.UserAction.login(UserAction.java:59)

         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

         java.lang.reflect.Method.invoke(Method.java:585)

         org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)

         org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)

         org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)

         org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)

         org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)

         org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)

         javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)





不是很懂意思  , 最好的解决办法是什么 ?前面说的



查询结果中包含null的值,对于一些数字或boolean包含null,定义该项时必须使用wrapper类型,而不能是primitive类型,例如使用Integer而不能是int,Boolean而不能是boolean否则会抛出exception



不是很明白意思,如果不想对数据库进行修改那要么样做啊 ?我用的eclipse+myeclipse



导致原因: 数字型字段值为空.

解决方法:

补充下,主要是数据库中的long ,int等原始数据类型为null,如果hibernate映射文件的字段类型为long,由于null不能赋值给原始类型,所以报错。解决方法1:让字段不为空,方法2:把映射文件的字段改为对象。如long 改为 Long ,int 改为Integer,
double改为 Double

例子:  
(原先)
   <property name="cityid" type="long"  >

            <column name="CITYID" precision="22" scale="0" />

        </property>


改为:
        <property name="cityid" type="java.lang.Long"  not-null="true">

            <column name="CITYID" precision="22" scale="0" />

        </property>
分享到:
评论
9 楼 haoxinren 2012-09-21  
   :   不错 果然是hibernate 对数据库字段的问题。
8 楼 tsinglongwu 2010-09-17  
wf_chn 写道
  
偶也遇到同样的问题,多亏看了你的博客,谢谢

今天我也碰到了这个问题,搞了半天,一开始也怀疑是类型有问题,呵呵,终于搞定了。。。
7 楼 hite 2009-12-01  
改为:
        <property name="cityid" type="java.lang.Long"  not-null="true">

            <column name="CITYID" precision="22" scale="0" />

        </property>

除了做上述改动外,还需要把改为:
Long cityid;才可以。
6 楼 wf_chn 2008-05-06  
  
一起学习,一起进步
5 楼 liyanhui 2008-05-05  
在hibernate中,有许多地方都有对null值的要求,我也是二把刀子,咱们一起学习,一起努力
4 楼 wf_chn 2008-05-05  
我又测了一下,是因为在composite-id中,所以value不能为空
3 楼 wf_chn 2008-05-05  
事实上我的问题是一个timestamp类型的转date类型的,因为值为null,而这个field还要映射成为composite-id的一个key-property,我现在不知道是哪个环节出了错,是因为null值,还是因为composite-id,我还需要再试试
2 楼 liyanhui 2008-05-05  
hibernate 用起来简单上手,但是其配置太灵活,用好却不容易
1 楼 wf_chn 2008-05-05  
  
偶也遇到同样的问题,多亏看了你的博客,谢谢

相关推荐

    Hibernate映射导致的几个异常

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

    Hibernate实践例子程序

    由于Hibernate是基于 JDBC的,所以它的数据库查寻的能力相对于CMP来说也是异常强大的,Hibernate自身也提供了HQL查寻语句。 一个最简单的Hibernate project(不涉及Struts, Tomcat, XDoclet,JBoss等东东)必须的...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过Hibernate API操纵数据库  3.5.1 Hibernate的初始化  3.5.2 访问Hibernate的Session接口  3.6 运行helloapp应用  3.6.1 创建运行本书范例的系统环境  ...

    Hibernate+中文文档

    22.2. Hibernate 映射 22.3. Hibernate 代码 23. 示例:复杂映射实例 23.1. Employer(雇主)/Employee(雇员) 23.2. Author(作家)/Work(作品) 23.3. Customer(客户)/Order(订单)/Product(产品) 23.4. 杂例 ...

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

    22.2. Hibernate 映射 22.3. Hibernate 代码 23. 示例:复杂映射实例 23.1. Employer(雇主)/Employee(雇员) 23.2. Author(作家)/Work(作品) 23.3. Customer(客户)/Order(订单)/Product(产品) 23.4. 杂例 ...

    HibernateAPI中文版.chm

    22.2. Hibernate 映射 22.3. Hibernate 代码 23. 示例:复杂映射实例 23.1. Employer(雇主)/Employee(雇员) 23.2. Author(作家)/Work(作品) 23.3. Customer(客户)/Order(订单)/Product(产品) 23.4. 杂例 ...

    hibernate 教程

    开始Hibernate之旅 1.2. 第一个可持久化类 1.3. 映射cat 1.4. 与猫同乐 1.5. 结语 2. 体系结构 2.1. 总览 2.2. JMX集成 2.3. JCA支持 3. SessionFactory配置 3.1. 可编程配置方式...

    Hibernate中文详细学习文档

    22.2. Hibernate 映射 22.3. Hibernate 代码 23. 示例:复杂映射实例 23.1. Employer(雇主)/Employee(雇员) 23.2. Author(作家)/Work(作品) 23.3. Customer(客户)/Order(订单)/Product(产品) 23.4. 杂例 ...

    Hibernate 中文 html 帮助文档

    22.2. Hibernate 映射 22.3. Hibernate 代码 23. 示例:复杂映射实例 23.1. Employer(雇主)/Employee(雇员) 23.2. Author(作家)/Work(作品) 23.3. Customer(客户)/Order(订单)/Product(产品) 23.4. 杂例 23.4.1. ...

    最全Hibernate 参考文档

    1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. 架构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 3. 配置 3.1. 可编程的配置方式 ...

    Hibernate教程

    1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第一部分 - 第一个Hibernate程序 2.2.1. 第一个class 2.2.2. 映射文件 2.2.3. ...

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

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

    如何提高hibernate性能

    Hibernate的orm映射固然方便,但是数据达到一定量时,也会遇到一些瓶颈,这时hibernate的优化就显得异常重要,本文档含有多种方式的优化方案,方便的h话你可以关注一下!

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

    22.2. Hibernate 映射 22.3. Hibernate 代码 23. 示例:复杂映射实例 23.1. Employer(雇主)/Employee(雇员) 23.2. Author(作家)/Work(作品) 23.3. Customer(客户)/Order(订单)/Product(产品) 23.4. 杂例 ...

    Hibernate注解

    * @Table —— 注解声明了该实体bean映射指定的表(table),目录(catalog)和schema的名字 * @Column —— 注解声明了属性到列的映射。该注解有如下的属性 * name 可选,列名(默认值是属性名) * unique 可选,...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过Hibernate API操纵数据库  3.5.1 Hibernate的初始化  3.5.2 访问Hibernate的Session接口  3.6 运行helloapp应用  3.6.1 创建运行本书范例的系统环境  ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     3.4.2 把Customer持久化类映射到CUSTOMERS表  3.5 通过Hibernate API操纵数据库  3.5.1 Hibernate的初始化  3.5.2 访问Hibernate的Session接口  3.6 运行helloapp应用  3.6.1 创建运行本书范例的系统环境  ...

Global site tag (gtag.js) - Google Analytics