做查询时需要用到一个比较复杂的sql,采用SQLQuery,query.list();报了空指针。
debug发现query非空。将sql简化到最简单的形式,依然。
突然发现query.addEntity(XXX);的XXX里的字段有几个是通过formula查询出来方便显示的。去掉query.addEntity();,错误消除。
SQLQuery在查询时对于formula字段不能正确的处理,而且报出的错误为nullpoint,这里很假。
SQLQuery query = sess.createSQLQuery(sql);这段代码在写的时候其实是没有formula的属性对应的字段的。
可以选择更改sql,将formula的字段包装进去,然后在封装到对象里。
或者不要写query.addEntity(),即不需要自动封装成对象,而是以数组的形式。
分享到:
相关推荐
1、Structs.tt模版生成时,没有给PropertyName属性赋值引起的空指针异常(System.NullReferenceException异常) 2、使用SubSonic.Query.Select和SubSonic.Query.SqlQuery查询时,设置了Top属性后,产生的“未处理...
SQL语法大全 SQL语法大全 1. ASP与Access数据库连接: dim conn,mdbfile mdbfile=server.mappath("数据库名称.mdb") set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access ...
数据查询语言 (Data Query Language, DQL) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询) 数据控制语言Data Controlling Language(DCL),用来...
cursor.moveToFirst()){//当记录的个数的值为0或指针指向第一条记录时,执行花括号中的语句 return null; } People_mll[] peoples=new People_mll [resultCounts];//用People_mll类定义一个数组,数组的长度为...