用Query.list()查询ORACLE数据库有一个问题,如果数据库表类型是CHAR,则HIBERNATE会将其装换为 java.lang.Character类型的值,结果是只取数据库里的数据的第一个字符,如果数据库表列的类型是char(2),只是"01",则用 HIBERNATE取出来就是"0".
有一个解决办法是使用SQLQueryImpl.addScalar指明查询结果的返回类型。
但是这样要对每个结果中存在CHAR类型的查询都要设置返回类型,比较繁琐。
各位有没有更好的方法能正确地读取CHAR(N)的值(N>1)?