http://p.primeton.com/reports/53ed7b25e13823423b0000a1
1. 我调用的方法:
EmpInfo[] emps=
this.getDASTemplate().queryByNamedSql(EmpInfo.class,"com.primeton.sql.empsql.select_emp",null);
2. 然后出错了,提示如下:
Can't convert class "com.primeton.data.sdo.impl.DataObjectImpl" to "com.primeton.sql.empdataset.EmpInfo"
3. 提示的错误行:
EmpInfo[] emps=
this.getDASTemplate().queryByNamedSql(EmpInfo.class,"com.primeton.sql.empsql.select_emp",null);
2. 然后出错了,提示如下:
Can't convert class "com.primeton.data.sdo.impl.DataObjectImpl" to "com.primeton.sql.empdataset.EmpInfo"
3. 提示的错误行:
at com.primeton.sql.EmpService.queryEmp(EmpService.java:27)
............这一行就是上面那个我调用的方法!怎么办?
建议您调用普元构件库中的API,参考代码如下:
Map<String, String> parameterMap=new HashMap<String,String>();
parameterMap.put("orderId", orderId);
return DatabaseExt.queryByNamedSql("default","com.primeton.example.cache.order.loadOrder", parameterMap);
问题是由于数据集com.primeton.sql.empdataset.datasetx中的EmpInfo实体没有设置实例类,命名sql查询返回结果集时使用EmpInfo实体实例化,实体的数据类型是com.primeton.data.sdo.impl.DataObjectImpl,所以报错Can't convert class "com.primeton.data.sdo.impl.DataObjectImpl" to "com.primeton.sql.empdataset.EmpInfo"
打开com.primeton.sql.empdataset.datasetx中的EmpInfo实体属性,在描述标签页里,设置实例类为com.primeton.sql.empdataset.impl.EmpInfoImpl就可以解决问题了。