hibernate在查询无主键表时,当查询的某行有某个字段出现空值时,那么返回的这一行的结果对象将会是null
List<SsSysIpFilterId> ids = hibernateTemplate.find("s.id from SsSysIpFilter s")
ArrayList的add方法在添加一个null值时不会做任何判断,它会将null添加,并且长度加1,下面是它的源码
public boolean add(E o) {
ensureCapacity(size + 1); // Increments modCount!!
elementData[size++] = o;
return true;
}
所以当你用hibernate来查询无主键表,可能出现这种情况:
返回的list里面长度不为0,但是list.get(0)得到的对象却是null,此时进行任何操作就会NullPointerException
看样子对无主键表操用时用hibernate查询与更新都会有问题啊