使用Hibernate时的一些错误总结

最近在学习用Hibernate,老师讲的好快,更多的只有自己看,自己弄,中间遇到了不少困难,这里主要总结一下练习中出现的一些报错及解决方法。

 #CSDN@CSU-Max

1、在使用HQL进行数据查询的时候,使用的是映射文件中的类名,而不是传统JDBC中使用的表名。

如:

//HQL写法,此处User是映射的类名
   select u from User as u where u.username=? and u.password=?;

//普通JDBC,此处user是表名
   select * from user where username=? and password=?

2、报错:java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder

       Hibernate使用的SLF4J API来记录日志,所以在Hibernate的lib包中,不提供Log4J的jar包,而大部分框架依旧使用的是Log4J记录日志,在使用中会导致冲突。

      这里我的解决办法是:

                第一步:在项目中加入Log4J的包,比如log4j-1.2.8.jar。

                第二步:下载SLF4J ,解压后将slf4j-log4j.xxx.jar这个包加到项目中去,就可以解决问题了。

      #SLF4J下载地址:http://www.slf4j.org/download.html


3、报错:entity class not found

      但是检查代码,我们发现,相应的类确实存在,这可能是我们在Hibernate配置文件中写错了,检查hbm.xml中的class对应的类名和实体的路径是否一致,
      注意!!!!此处的路径名用的是"/",而不是"."。

<!--不要想当然写成com.csu.bean.User.hbm.xml-->
<mapping resource="com/csu/bean/User.hbm.xml" />

4、在Hibernate中添加、删除、修改一个对象时,数据库中木有改变。(这个是同学遇到的,后来我帮他找出来了)

     没有使用自动的HIbernate事务处理,则需要我们在执行添加、修改、删除之后要显式的提交事务,这样操作才会在数据库中执行。


         #CSDN@CSU-Max    欢迎转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值