有三张表
第一张是人员person表
字段:
ID SEX
第二张表是部门表dept
字段:
ID districtmark
其中districtmark有两个值,1和2 1表示部门属于市级,2表示部门属于区级
第三张表是部门人员表personDept
字段有:
ID personid deptid
每个人员都属于一个部门,三张表都没有外键,第一张人员表和第二张部门表通过第三张的部门人员表的personid和deptid关联起来
我想查出所有属于[b]区级[/b]部门的[b]人员[/b]出来,而且还能加上多条件的模糊查询语句,就是还能用where 1=1;
下面是sql语句,我在数据库里面可以执行
select distinct * from persona inner join personDept b on a.id = b.personid inner join dept c on b.deptid = c.id where c.districtmark = 2;
这是我写的hql语句,但有错
//模糊查询
string queryCondition=”;
if (id != null) {
queryCondition += " and (a.id like '%"+id+"%')";
}
if (sex != null) {
queryCondition += " and a.sex='" + sex + "'";
}
//hql语句
String query = "select distinct a from TOrgPerson as a, TOrgDeptpersons as b, TOrgDept as c where a.id = b.personid and b.deptid=c.id and c.districtmark = 2 " + " where 1=1 " + queryCondition;
//执行query查询语句
上面的hql应该怎么改呢?