Hibernate查出集合里面的对象全部为空原因分析
症状:
hibernate查单表,在后台可是看到生成的sql语句,sql正确,返回的list中可以看到返回的对象数目,但是里面的对象都是null,可以推断查询过程没有问题,问题在绑定到对象的过程中。
可能原因有:
1、hibernate的pojo中serialVersionUID的值和其他pojo的值一样。这样的情况特别容易发生在拷贝代码的情况下;
2、pojo中主键定义问题,如联合主键的定义方式不对,用@IdClass定义联合主键类,其他的同普通的pojo即可;
3、pojo中是基本类型的数据是空的,如null赋值给int,这时最好用包装的Integer来代替int。
第3种异常会打印出准确的异常日志,前面两种就仅仅抛出空指针异常,比较难以定位。pojo最好采用自动生成的,工作量小而且便于修改,上面的问题也比较难以出现。