常见问题(1)
1.在DepServer.java中有如下一个方法:
public SysZzjgDep findDepFromBm(String Bm) {
List ret = null;
SysZzjgDep dep=null;
try {
String hql = " FROM SysZzjgDep WHERE id IS NOT NULL ";
hql += " AND depBm='" + Bm + "' order by depIndex,depCode ";
ret = service.findObjs(hql);
if (ret!=null&&ret.size()>0){
dep=(SysZzjgDep)ret.get(0);
}
} catch (Exception e) {
e.printStackTrace();
}
return dep;
}
在findDepFromBm()方法中,返回的是一个实体。
在QxXjCzxxkService.java中
public List<QxXjCzxxk> queryList(QxXjCzxxk queryObj, Page page) {
List<QxXjCzxxk> ret = null;
String hql = "FROM QxXjCzxxk WHERE 1=1 and xxdm like '"+this.getSessionUserDep()+"%' ";
try {
if (queryObj != null ) {
if(queryObj.getXxdm()!=null&&!queryObj.getXxdm().equals("")){
hql += " and dep.depCode like '%" + depService.findDepFromBm(queryObj.getXxdm()) + "%'";// 学校代码
-----此处调用了该方法,但是该语句是不正确的,dep.depCode获取的是个字符串,而findDepFromB返回的是一个实体。应改为:
String tempDepCode=depService.findDepFromBm(queryObj.getXxdm()).getDepCode();
hql += " and dep.depCode like '%" + tempDepCode + "%'";// 学校代码
}else{
if(queryObj.getXxmc()!=null&&!queryObj.getXxmc().equals(""))
hql += " and xxmc like '%"+queryObj.getXxmc()+"%'";//学校名称
}
}
ret = service.findObjs(hql, page);
}catch(Exception e) {
e.printStackTrace();
}
return ret;
}