2017-10-03 4 views
1

で複数のサブクエリからの列を結合する方法を私はHQLで次のクエリを書きたいは休止状態

DetachedCriteria d1=DetachedCriteria.forClass(MyTable.class, "d1") 
     .setProjection(Projections.max("id")) 
     .add(Property.forName("myColumn").isNull(); 

    DetachedCriteria d2=DetachedCriteria.forClass(MyTable.class, "d2") 
     .setProjection(Projections.max("id")) 
     .add(Property.forName("myColumn").isNotNull(); 

しかし、私は持っていますそれらを1つの基準オブジェクトに結合するのは苦労します。 SELECTで複数のサブクエリを含める方法を見つける

Criteria criteria = Criteria.forClass(MyTable.class); 
    criteria.add(Subqueries.propertyEq("v1.maxx", d2)); 
    criteria.add(Subqueries.propertyEq("v2.maxx", d1)); 

答えて

0

Could't:ここ

0

はあなたの2つのサブクエリを結合する私のアプローチです。そこで、 クエリを次のように書き直しました。これはHQLで動作します。

select max(k.id), max(l.id) from myTable k, myTable l 
    where k.myColumn is not null and l.myColumn is null;