我现在有三个字段,用户名称,角色名称,岗位名称,做查询操作,可以任意输入条件,用户表中只存角色编码和岗位编码,是外键,用hibernate的example查询怎么不可以呢???,只有这个用户名称起作用
[code]SysmgrUserImpl example = new SysmgrUserImpl();
example.setUserName(userName);
example.setDelFlag(new Boolean(false));
String roleHql = "from SysmgrRoleImpl r where r.roleName='"+roleName+"'and r.delFlag=0";
List roleList = this.getSysmgrRoleService().SysmgrRoleHQLQuery(roleHql);
if(roleList.size()>0){
example.setSysmgrRole((SysmgrRole) roleList.get(0));
}
String stationHql = "from SysmgrStationImpl s where s.stationName='"+stationName+"'and s.delFlag=0";
List stationList = this.getSysmgrStationService().SysmgrStationHQLQuery(stationHql);
if(stationList.size()>0){
example.setSysmgrStation((SysmgrStationImpl) stationList.get(0));
}
result = this.getSysmgrUserService().SysmgrUserCriteriaExampleQuery(example);[/code]
代码如上,如果是用户表的字段,如输入用户名,查询则没有问题,就是这个roleName,stationName,不起作用啊???
[code]SysmgrUserImpl example = new SysmgrUserImpl();
example.setUserName(userName);
example.setDelFlag(new Boolean(false));
String roleHql = "from SysmgrRoleImpl r where r.roleName='"+roleName+"'and r.delFlag=0";
List roleList = this.getSysmgrRoleService().SysmgrRoleHQLQuery(roleHql);
if(roleList.size()>0){
example.setSysmgrRole((SysmgrRole) roleList.get(0));
}
String stationHql = "from SysmgrStationImpl s where s.stationName='"+stationName+"'and s.delFlag=0";
List stationList = this.getSysmgrStationService().SysmgrStationHQLQuery(stationHql);
if(stationList.size()>0){
example.setSysmgrStation((SysmgrStationImpl) stationList.get(0));
}
result = this.getSysmgrUserService().SysmgrUserCriteriaExampleQuery(example);[/code]
代码如上,如果是用户表的字段,如输入用户名,查询则没有问题,就是这个roleName,stationName,不起作用啊???