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>
这样在更新的时候编码也不会乱掉