hibernate+spring操作oracle乱码问题
我使用下面这种方式更新数据库,写入到数据库里面的数据乱码了,这个问题怎么解决呢?
session = sessionFactory.openSession();
tran=session.beginTransaction();
String hql="update entity.Job set nick='张三分12' where jobID=100001";
Query query=session.createQuery(hql);
int n=query.executeUpdate();
System.out.println("更新条数为:"+n);
tran.commit();
session.close();
执行完毕后数据库里面的数据为:
JOBID PASSWORD NICK GENDER
100001 zhangsan ??? 男
使用spring+hibernate的方式完成,请高手指教!
------解决方案--------------------我记得这个好像是hibernate的一个bug。。
首先,你的hibernate连接oracle的字符串中指定的字符集类型是不是和oralce的字符集一致。。
有一个更快的方法,就是把字符串转换为oracle中的字符集,假设oracle字符集是utf-8
String nick = new String("张三分12".getBytes(),"UTF-8")