2012-01-18 77 views

回答

10

這些通常與休眠狀態下的結果集變換器一起使用。閱讀API或查看example ResultTransformer是一個不錯的簡單界面,允許您轉換任何Criteria結果元素。

E.g.您可以使任何Criteria結果作爲java.util.Map或作爲非實體Bean返回。

您可以閱讀的示例ALIAS_TO_ENTITY_MAPhere。即,

由前兩個查詢返回的Cat實例持有的小貓集合未按條件預過濾。如果您只想檢索符合條件的小貓,則必須使用ResultTransformer。

List cats = sess.createCriteria(Cat.class) 
    .createCriteria("kittens", "kt") 
     .add(Restrictions.eq("name", "F%")) 
    .setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP) 
    .list(); 
Iterator iter = cats.iterator(); 
while (iter.hasNext()) { 
    Map map = (Map) iter.next(); 
    Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS); 
    Cat kitten = (Cat) map.get("kt"); 
} 
+1

根據標準預過濾是什麼意思? – Victor 2014-06-06 16:13:33

相關問題