entity层:
    private String soLoginName;
    private String soPassword;
dao层:
    public boolean login(HrbSysOperator hrbSysOperator) {
try {
Session session = this.getSession();
Criteria c = session.createCriteria(OperatorDaoImp.class);
c.add(Restrictions.eq("soLoginName", hrbSysOperator.getSoLoginName()));
c.add(Restrictions.eq("soPassword", hrbSysOperator.getSoPassword()));
System.out.println("size="+c.list().size());
if (c.list().size() > 0) {
return true;
} else
return false;
} catch (Exception ex) {
if (log.isDebugEnabled()) {
log.debug("OperatorDaoImp error:", ex);
return false;
}
ex.printStackTrace();
return false;
}
}
biz层:
    public boolean login(HrbSysOperator hrbSysOperator) {
return operatorDao.login(hrbSysOperator);
}
在Action:中调用biz层中的login方法
--------------
传递给dao中可以取道soLoginName和soPassword,如下但为何Criteria 取不到数据,是否我方法有误?
取到的c.list.size()为0?

解决方案 »

  1.   

    Criteria c = session.createCriteria(OperatorDaoImp.class); 
    中createCriteria使用的是实体类
      

  2.   

    entity层:
        private String soLoginName;
        private String soPassword;把Criteria c = session.createCriteria(OperatorDaoImp.class); 
    中的OperatorDaoImp改成 soLoginName所在的实体类就可以了。
      

  3.   

    我也是,但是我在判断查询出来的list的,不为空。