这个问题的标题类似于this one,但它没有重复,因为其他OP实际上想要其他东西(无论如何,我的问题没有答案)。我想要的是回收Criteria
中已构建的Subqueries.exists(DetachedCriteria)
。
我知道Criteria
基本上是DetachedCriteria
且附加Session
,所以我希望在另一边有Criteria#toDetached()
或工厂方法,但我找不到任何东西。
答案 0 :(得分:2)
根据OP,它帮助他解决了他的问题。
其中一种方法可能是NHibernate: Convert an ICriteria to a DetachedCriteria为Nhibernate提供的方式,但同样可以在Hibernate中完成。
答案 1 :(得分:2)
用Java简单地重写:
public class MyDetachedCriteria extends DetachedCriteria {
public OcDetachedCriteria(Criteria criteria) {
super((CriteriaImpl) criteria, criteria);
((CriteriaImpl) criteria).setSession(null);
}
}