TidCard tidCard=(TidCard)session.get(TidCard.class, 3);
Tuser u=(Tuser)session.get(Tuser.class, 18);
u.setTidCard(tidCard);
如上所示,我明明只是对数据库的读取操作,设置的属性也只有setTidCard这个属性,但是在更新数据库之后其他列也被更新成了乱码
Hibernate: update usertest.tuser set id_card_id=?, name=?, password=?, mobile=?, email=? where id=?
这是因为hibernate此时进行了更新(SQL语句如上所示),将tuser表中的内容更新了,所以cfg.xml文件中应该配置好编码,数据库创建的时候也应该注意编码
hibernate配置数据库的时候应该如下(usertest是我的数据库名)
<property name="connection.url">jdbc:mysql://localhost:3305/usertest?useUnicode=true&characterEncoding=UTF-8</property>
这样在更新的时候编码也不会乱掉
本文探讨了在使用Hibernate进行数据库操作时遇到乱码问题的原因,并提供了配置编码的解决方案,确保数据库更新时数据的正确性。

586

被折叠的 条评论
为什么被折叠?



