关于hibernate的一些错误和异常

日常积累的一些关于hibernate的报错以及处理的方法


错误1    /hibernate.cfg.xml not found

错误名称:hibernate.cfg.xml配置文件找不到
解决方案  :  这是hibernate.cfg.xml的文件名写错了


错误2 Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
错误名称:实体类的映射文件有错 导致 sessionFactory 无法生效
解决方案:第一种可能是缺少javassist.jar包
 第二种可能是hibernate.cfg.xml的mapping配置错误,仔细检查这个文件,把有错误的先注释掉再试试
 第三种可能是某个实体类中外加了某些getXX(),而不存在XX属性,这时要在get上加@Transient,不持久化它就行了。或者是实体表或映射表中属性写的不一致导致的,所以要细心检查实体类、.hbm.xml和数据库之间的属性名、字段名还有类型是否写错了。


错误3: Dialect class not found: oracle.jdbc.OracleDriver
错误名称:找不到Dialect 类
解决方案:ojdbc6_g.jar 架包没有发布


错误4:  Could not instantiate dialect class
Caused by: java.lang.ClassCastException: oracle.jdbc.OracleDriver cannot be cast to org.hibernate.dialect.Dialect
at org.hibernate.dialect.resolver.DialectFactory.constructDialect(DialectFactory.java:156)
... 6 more
错误名称:方言不能被实例化  
解决方案:检查配置文件的书写是否写错


错误5: Could not find a getter for isAdmin in class org.hibername.Entity.Users
错误名称:找不到isAdmin属性的get() 
解决方案:检查实体类


错误6: 执行 Emp emp = (Emp) session.get(Emp.class, 7369);
TypeMismatchException:....
原因:提供的主键值7369和实体类中的主键类型不匹配 


错误7: Unknown entity: org.emp.entity.Emp
原因:没有在配置文件中添加映射文件的引用,也就是没有拽进去


错误8:MappingNotFoundException: resource: org/emp/entity/Emp.hbm.xml not found
原因:引入的映射文件文件不存在,检查名称和路径是否正确


错误9:org.hibernate.hql.ast.QuerySyntaxException: tbl_emp is not mapped [from tbl_emp]
原因:没有tbl_emp类  hql语句中的tbl_emp不被Query对象认识  


错误10: could not resolve property
名称:不能解决的属性
原因及解决:顾名思义 hql语句的属性写错了   检查hql语句中的属性名称


错误11:org.hibernate.TransientObjectException: The given object has a null identifier
原因:hibernate更新时出的问题  参数实体类的主键没有赋值


错误12:org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.Order.entity.Orders
原因:  级联添加问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值