Hibernate初学采坑汇总

1.MappingNotFoundException: Mapping (RESOURCE) not found:***

1.1 错误概述

该错误属于映射文件找不到的错误,其中 “***” 表示的是在hibernate配置文件中(hibernate.cfg.xml)mapping标签中的映射文件地址,如果没有根据地址找到对应的映射文件,则会报MappingNotFoundException异常。异常如下图所示。

主要是由于,根据mapping的地址没有找到对应的映射文件。

1.2 解决方法

(1) 检查resource地址是不是写错了,一个比较好的检查的办法是按住ctrl键,然后鼠标放在User.hbm.xml上,如果地址没有书写问题,地址会变蓝,并且点击后会跳转到对应的文件页面。

(2) 除了书写问题,还有可能是User.hbm.xml文件位置放的不对,

如果是普通工程的话,需要将配置文件存放在java文件下,可以将映射文件放到实体类所在的包中,例如下图所示,存放的地址就是 “com/sw/bean/User.hbm.xml”。或者我们创建resource目录,将文件存放在resource目录中。否则,如果存放位置不正确,则会找不到文件。

如果是maven工程的话,我们需要注意,idea中的maven项目会自动生成一个resource目录,配置文件必须要存放在resource目录中,不能放在java文件下,否则会报MappingNotFoundException异常。

2.UnsupportedOperationException: The application must supply JDBC connections

2.1 错误概述

该错误是不支持操作异常,会提示“应用程序必须提供JDBC连接”。是由于用户没有提供jdbc链接url而导致hibernate无法进行数据库链接。

2.2 解决方法

(1)在hibernate.cfg.xml文件中没有配置数据库链接地址,需要加入以下配置项:

<property name="hibernate.connection.url">【数据库链接地址】</property>

(2)property的name书写错误,有可能是存在空格。例如下图所示name中末尾的空格。

3.SQLException: Access denied for user ''@'localhost'

3.1错误概述

在链接数据库时发生SQL异常,并提示拒绝访问。

3.2解决方法

通过报错信息我们可以看到,用户名部分是空的,说明hibernate并没有接受到用户名。和上一个错误很像,

(1)一种情况是hibernate.cfg.xml配置文件中没有写用户名的配置项,则需要加上:

<property name="hibernate.connection.username">root</property>

(2)第二种情况就是property的name属性拼写错误或者加入了多余的空格,需要仔细检查并更改。

4.SQLException: Access denied for user 'root'@'localhost'

4.1错误概述

在链接数据库时发生SQL异常,并提示拒绝访问。

4.2解决方法

通过报错信息我们可以看到,用户名部分是正确的,但是依然拒绝访问,很有可能是密码没有配置成功,和上一种错误类似,

(1)hibernate.cfg.xml中没有密码的配置项,需要加上:

<property name="hibernate.connection.password ">【密码】</property>

(2)检查property是否有拼写错误或者多余空格。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值