用Query.list()查询ORACLE数据库有一个问题,如果数据库表类型是CHAR,则HIBERNATE会将其装换为 java.lang.Character类型的值,结果是只取数据库里的数据的第一个字符,如果数据库表列的类型是char(2),只是"01",则用 HIBERNATE取出来就是"0".
有一个解决办法是使用SQLQueryImpl.addScalar指明查询结果的返回类型。
但是这样要对每个结果中存在CHAR类型的查询都要设置返回类型,比较繁琐。
各位有没有更好的方法能正确地读取CHAR(N)的值(N>1)?
有一个解决办法是使用SQLQueryImpl.addScalar指明查询结果的返回类型。
但是这样要对每个结果中存在CHAR类型的查询都要设置返回类型,比较繁琐。
各位有没有更好的方法能正确地读取CHAR(N)的值(N>1)?
解决方案 »
- jsp+servlet+javaBean登录,页面转发,求助
- fileOutputstream.write(byte[])写入后的内容,比原文件多
- applet ftp文件下载的问题(人民币100元)
- 这是我自己写的一个hibernate分页,运行多了很慢,大家帮我看看出了什么问题?
- 过多的new要怎么避免?
- 在表格中删除数据
- 高分寻找连接 sql server2000 的 jdbc 驱动程序!
- 在SPRING下采用JOTM开发通用编程式事务管理组件?
- 在社区中都搜索不到的乱码问题?高手指点
- hibernate字段映射到数据库后的名称如何修改?
- 请问下数据上下文是什么?
- 谁能帮我推荐几本jsp的书籍?
将数据列的CHAR类型映射为对象属性的String类型,应该可以避免这个问题。事实上,一般做自动ORM的时候,都是将CHAR->String的。
写property的时候不要那么懒
把type加上嘛