Hibernate QBC查询,怎么在OR条件中加入子查询
有A,B俩个实体,1对多的关系A:B(1:n);我现在要查询A,查询条件是A里面的属性a不为空或者B里面的属性b等下一个值'1'。
Criteria criteria = session.createCriteria(A.class);
criteria.add(Restrictions.or(Restrictions.isNotEmpty("a"), rhs));
...........
后面那个rhs不知道怎么写,求帮助, 或者有其他办法,过必需是QBC查询。 hibernate QBC Criterion --------------------编程问答-------------------- 用QBC查询的时候关联关系的你要给他取个别名后面就可以引用了。
先给A里面的关联B类的属性名(假设为b)取别名b这个别名b就是A关联的B了
Criteria criteria = session.createCriteria(A.class).createAlias("b","b");
后面就可以直接用b.b来指定B类的属性b
criteria.add(Restrictions.or(Restrictions.isNotEmpty("a"), Restrictions.eq("b.b","1")));
补充:Java , Java EE