休眠条件与2个条件子句中1个查询

问题描述:

我如何acheive以下SQL查询使用休眠条件查询:休眠条件与2个条件子句中1个查询

select * from Table1 where (A,B) in (select A,B from Table2) 
+1

你不能。在Criteria和AFAIK中都没有支持,甚至在HQL中也没有。 – 2014-11-25 07:52:20

+0

我们可以使用SubQueries完成相同的操作 – Prashanth 2014-11-25 12:43:31

假设我们具有下面的代码表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