休眠条件与2个条件子句中1个查询
问题描述:
我如何acheive以下SQL查询使用休眠条件查询:休眠条件与2个条件子句中1个查询
select * from Table1 where (A,B) in (select A,B from Table2)
答
假设我们具有下面的代码表2.关于表1标准和标准独立工作完美:
Criteria criteria = new Criteria(Table1.class);
DetachedCriteria dc = DetachedCriteria.forClass(Table2.class);
ProjectionList projList = Projections.projectionList();
projList.add(Projections.property("column1"));
projList.add(Projections.property("column2"));
dc.setProjection(Projections.distinct(projList));
criteria.add(Subqueries.propertiesIn(new String[]{"column1","column2"}, dc));
+0
您救了我。非常感谢 – HouseFragance 2017-05-19 09:36:22
你不能。在Criteria和AFAIK中都没有支持,甚至在HQL中也没有。 – 2014-11-25 07:52:20
我们可以使用SubQueries完成相同的操作 – Prashanth 2014-11-25 12:43:31