繁体   English   中英

使用dao类获取行的Java中的异常

[英]Exception in java using dao class to get row

我的DAO课程:

@SuppressWarnings("unchecked")
public int getRowCount(Map<String, Object> searchParam) throws DAOReadException {
    List<Client> clientRow = null;
    try {
        Criteria criteria = Criteria.forClass(Client.class);
        //set criteria search
        for (String key : searchParam.keySet()) {

            /*if(key.equals("ClientPK.clientId1")){
                criteria.add(Restrictions.like("ClientPK.clientId", searchParam.get(key)));
            }*/
            if(key.equals("clientPK.clientId")){
                criteria.add(Restrictions.eq(key, Integer.parseInt(searchParam.get(key).toString())));
            }
            if(key.equals("clientName")){
                criteria.add(Restrictions.like(key, searchParam.get(key)));
            }

            if(key.equals("status")){
                criteria.add(Restrictions.eq(key, Short.parseShort(searchParam.get(key).toString())));
            }


            //Bug# 12544 start
            if(key.equals("orgId"))
            {
                criteria.add(Restrictions.eq("ClientPK.orgId", searchParam.get(key)));
            }
            //Bug# 12544 End
    }
        criteria.addOrder(Order.desc("createdDate"));
        clientRow = (List<Client>) findByCriteria(criteria);
    }

    catch (Exception e) {
        throw new DAOReadException(e);
    }
    int rowCount = 0;
    if (clientRow != null) {
        rowCount = clientRow.size();
    }

    return rowCount;
}

}

错误是:

java.lang.IllegalArgumentException:org.hibernate.QueryException:无法解析属性:ClientPK of:com.vin.eretail.model.client.Client [从com.vin.eretail.model.client.Client中选择此项,为此.ClientPK.orgId =? 按this.createdDate desc排序]

似乎改变如下:

    //Bug# 12544 start
    if(key.equals("orgId"))
    {
       criteria.add(Restrictions.eq("clientPK.orgId", searchParam.get(key)));
     }
        //Bug# 12544 End

仍然需要查看您的客户课程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM