Hibernate 异常 Unable to instantiate default tuplizer
2012-03-29 13:44
363 查看
.
.
.
.
.
今天在做Hibernate和Spring整合,在一张表中多添加了三个字段,它们的类型分别是INT、BIT和DATETIME,然后手动修改了实体类和.hbm.xml,启动单元测试的时候遇到了一个问题,控制台上报出了一大堆异常和堆栈信息,嵌套到最终的一个异常是Unable to instantiate default tuplizer,于是开始在Google上查相关资料,查了很久,查出了几种可能导致该异常的方法,于是将其记录下来,分享给遇到同样问题的网友。
第一种可能是缺少javassist.jar包,下面给出下载地址。
http://mirrors.ibiblio.org/pub/mirrors/maven/javassist/jars/javassist-3.0.jar
第二种可能是hibernate.cfg.xml的mapping配置错误,仔细检查这个文件,把有错误的先注释掉再试试。
第三种可能是某个实体类中外加了某些getXX(),而不存在XX属性,这时要在get上加@Transient,不持久化它就行了。或者是实体表或映射表中属性写的不一致导致的,所以要细心检查实体类、.hbm.xml和数据库之间的属性名、字段名还有类型是否写错了。
结果我按照上面三种情况都做了检查也没有发现问题,最后发现了一个问题:那个BIT字段的属性名有点特殊,private Boolean isInvalid;,结果在设置getter()方法和setter()方法时被MyEclipse自动生成为下面这种形式:
把它们改成以下的形式就好了:
所以命名的时候一定要谨慎,尤其对于Boolean类型的属性更要谨慎!
.
.
.
.
今天在做Hibernate和Spring整合,在一张表中多添加了三个字段,它们的类型分别是INT、BIT和DATETIME,然后手动修改了实体类和.hbm.xml,启动单元测试的时候遇到了一个问题,控制台上报出了一大堆异常和堆栈信息,嵌套到最终的一个异常是Unable to instantiate default tuplizer,于是开始在Google上查相关资料,查了很久,查出了几种可能导致该异常的方法,于是将其记录下来,分享给遇到同样问题的网友。
第一种可能是缺少javassist.jar包,下面给出下载地址。
http://mirrors.ibiblio.org/pub/mirrors/maven/javassist/jars/javassist-3.0.jar
第二种可能是hibernate.cfg.xml的mapping配置错误,仔细检查这个文件,把有错误的先注释掉再试试。
第三种可能是某个实体类中外加了某些getXX(),而不存在XX属性,这时要在get上加@Transient,不持久化它就行了。或者是实体表或映射表中属性写的不一致导致的,所以要细心检查实体类、.hbm.xml和数据库之间的属性名、字段名还有类型是否写错了。
结果我按照上面三种情况都做了检查也没有发现问题,最后发现了一个问题:那个BIT字段的属性名有点特殊,private Boolean isInvalid;,结果在设置getter()方法和setter()方法时被MyEclipse自动生成为下面这种形式:
public Boolean isInvalid() { return isInvalid; 3 } public void isInvalid(Boolean isInvalid) { this.isInvalid = isInvalid; }
把它们改成以下的形式就好了:
public Boolean getIsInvalid() { return isInvalid; } public void setIsInvalid(Boolean isInvalid) { this.isInvalid = isInvalid; }
所以命名的时候一定要谨慎,尤其对于Boolean类型的属性更要谨慎!
相关文章推荐
- Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]异常
- Hibernate 异常org.hibernate.HibernateException: Unable to instantiate default tuplizer
- 出现Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]异常
- 整合Spring与Hibernate 异常 Unable to instantiate default tuplizer
- 遇到Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]异常
- hibernate Unable to instantiate default tuplizer异常
- 异常:Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
- org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity
- org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity
- Unable to instantiate default tuplizer [org.hibernate.tuple.component.PojoComponentTuplizer]
- Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer
- Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
- Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to instantiate default tuplizer [
- Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer] at org.sprin
- Hibernate错误 Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
- Hibernate--Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
- org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.compon
- Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]之解决
- Hibernate 错误Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer
- Initial SessionFactory creation failed.org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.t