比如说
[code="java"]
String hql = "FROM Ciuser U";
List result = query.createQuery(hql).list();
[/code]
经测试,list.size()==2(表明是从数据库内查询出数据了有两条),但是list里面装的都是null,而不是我的Ciuser对象。
这是什么原因,请各位执教。
[b]问题补充:[/b]
就是遍历出来全是null。
数据库里有两条数据,result.size()确实也是2。
但遍历出来的result.get(i)就是个null。
[b]问题补充:[/b]
文件映射是肯定没问题的,不然在执行hql的时候就要抛异常了。
我所操作的表是没有主键的,配置文件大致如下:
[code="java"]
[/code]
我操作的表没主键,配置文件都是这种格式,唯独操作这张表时有问题,返回对象是null。问题相当奇怪,晕啊。
[b]问题补充:[/b]
原因不是有没有主键的问题,没主键的表hql一样能查一样能save(Object)、delete(Object),配置文件就是我刚才贴出来的一样。
现在还是追问为什么list里面装的都是null,但是size()又是有数据的。
怎么可能呢,你遍历这个list,一个个取出来看了没有啊
这个真是没理由啊,怎么有这么怪的问题,
result.size()确实也是2?理论上就一定是有对象了,这个太怪了,从没遇到这种
会不会是人的hql的Ciuser没有映射文件,还是映射得有点不对,
原来是操作的表没主键,这个才是关键嘛,你一来就要说这个,
你改用另外一种方式一定ok
[code="java"]
String hql = "select * FROM CIUSER";
List result = query.createSQLQuery(hql).list();
[/code]