Criteria DetachedCriteria 用法

    select A.*
    FROM AETABLE A
    where not exists
    (
        select entryid
        FROM AETABLE B
        where B.classpk = A.classpk
        and B.userid = A.userid
        and B.modifiedDate > A.modifiedDate
    )
    and userid = 10146
          
    DetachedCriteria subquery = DetachedCriteria.forClass(AETable.class, "b")
     .add(Property.forName("b.classpk").eqProperty("a.classpk"))
     .add(Property.forName("b.userid").eqProperty("a.userid"))
     .add(Property.forName("b.modifiedDate").gtProperty("a.modifiedDate"));
    
    Criteria criteria = session.createCriteria(AETable.class, "a")
     .add(Property.forName("userid").eq(new Integer(10146)))
     .add(Subqueries.notExists(subquery);
          
    DetachedCriteria subquery = DetachedCriteria.forClass(AETable.class, "b")
     .add(Property.forName("b.classpk").eqProperty("a.classpk"))
     .add(Property.forName("b.userid").eqProperty("a.userid"))
     .add(Property.forName("b.modifiedDate").gtProperty("a.modifiedDate"))
     .add(setProjection(Projections.property("entryId"));
    
    Criteria criteria = session.createCriteria(AETable.class, "a")
     .add(Property.forName("userid").eq(new Integer(10146)))
     .add(Subqueries.notExists(subquery);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章