Hibernate问题总结

这篇博客总结了使用Hibernate过程中遇到的几个问题,包括javax.xml.bind包缺失、中文插入乱码、Query接口已弃用、setXXX/setParameter方法弃用以及HibernateTools无法生成cfg.xml的问题。针对每个问题,提供了详细的解决办法,涉及Java版本调整、数据库配置修改、代码迁移和依赖版本控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.javax.xml.bind包缺失

因为:Java版本问题,Java9没有这东西

解决:

方法1)降版本

 

 

方法2)导入四个包在lib文件夹下

具体:https://blog.youkuaiyun.com/hadues/article/details/79188793

2.中文插入乱码

1)首先需要修改mysql数据库的配置文件my.ini,此文件放在mysql根目录下(隐藏文件夹里面的,先显示隐藏的文件,然后再去搜索)。在此文件下查找default-character-set属性,并将其值更改为utf8(注意:不是utf-8,也要注意大小写),这里需要将default-character-set属性全部属性的值修改为utf8。

示例:
default-character-set = utf8

另外记得把这句话前面的#号删掉

若还不行

2)hibernate.hbm.xml文件里面

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF8&amp;serverTimezone=UTC&amp;useSSL=true</property>

若还不行

3)创建数据库的时候

若还不行

4)MySQL里面很多参数默认是拉丁文的,全部改成UTF8,具体怎么改我忘了,百度吧。

若还不行,删库跑路

3.Query已弃用

把import org.hibernate.Query;改为import org.hibernate.query.Query;

4.setXXX/setParameter已弃用

1)改成JPA占位符的方式

String hql = "from Person as p where p.age = ?1";

2)改成命名参数的方式

String hql2 = "select t from Blog t where t.site=:site";

具体:https://blog.youkuaiyun.com/wangpeng047/article/details/12042051

5.hibernateTools无法按finish生成cfg.xml

 版本太高????改为5.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值