public PageResults<EGroup> findEGroupsByName(String comid,String groupname, Boolean recommend,String order,boolean asc,int pageNum, int pageSize) throws BaseDaoException {
DetachedCriteria dCriteria = DetachedCriteria.forClass(this.type);
//通过截取字符寻找相符标识

String subSql="substr({alias}.esnsDeptId,instr({alias}.esnsDeptId,'-',1,1)+1,instr({alias}.esnsDeptId,'-',1,2)-3)=?";//截取字符串以找到相应的结果集
dCriteria.add(Restrictions.sqlRestriction(subSql, comid, Hibernate.STRING));

if(StringUtils.isNotEmpty(groupname)) {
         dCriteria.add(Restrictions.like("name", groupname,MatchMode.ANYWHERE));
        }
if(recommend!=null) {
         dCriteria.add(Restrictions.eq("recommend", recommend));
        }
今天我用了一条这个语句
但是ORACLE老报esnsDeptId标识符无效。我esnsDeptId字段是配置文件里面的属性,先前用表字段的时候也会报这个错误。我一没有用错表,二属性和表字段都试过了,为什么还要报这个错?