在很多 使用 外连接 的 情况下 ,我们是直接使用sql来查询的。
hibernate对于批量数据操作的性能不好。
我们的数据量很大,如果查询7 W条数据,
hibernate要加载7W个实体类对象到hibernate缓存。
如果 是 使用较老 版本的Hibernate,比如我这里是 3.0 版本。 那么 使用 这个 查询的时候 需要注意一个情况:
我在查询 数据库 证件 号码的 时候,结果 只能 查询到 第一个 字符,后面的 都丢失了 。
我查看 了这个字段 APPLY_CERC 在数据库里面的类型是 CHAR (20) 。
同事说 是Hibernate 老版本 中是有这个 bug 的。
后来 换成 JDBC 的 查询 解决了问题 。
因为这个 问题, 重写了 SQL , 加班到 10 点,悲惨!现在记录下,以后少走弯路 。