gpt4 book ai didi

java - 在 Java 中使用 Hibernate 的 DetachedCriteria 来限制结果的最佳方法是什么?

转载 作者:搜寻专家 更新时间:2023-11-01 04:00:06 24 4
gpt4 key购买 nike

我在 Java 中使用 Hibernate 3.5.6-Final。因为我无法访问 Hibernate Session , 我正在使用 DetachedCriteria .所以,我想知道限制 DetachedCriteria 结果的最佳方法是什么(在我的例子中,我只想获得第一行)。

附加信息:

Criteria类有一些方法可以实现这一点,比如 setMaxResults(int maxResults)setFirstResult(int firstResult) ,但 DetachedCriteria 两者都没有。同样,我无法使用 Criteria,因为我无权访问 Hibernate 的 session 。

最佳答案

这就是我的做法,您必须将结果包装到执行 block 中。下面示例中的 EntityMAnager 是 org.springframework.orm.hibernate3.HibernateOperations 对象:

final DetachedCriteria criteria = DetachedCriteria.forClass(ActivePropertyView.class);
criteria.add(Restrictions.eq("featured", true));
List<ActivePropertyView> result = entityManager.execute(
new HibernateCallback<List<ActivePropertyView>>() {
@Override
public List<ActivePropertyView> doInHibernate(Session session)
throws HibernateException,SQLException {
return criteria.getExecutableCriteria(session).setMaxResults(5).list();
}
});
return result;

关于java - 在 Java 中使用 Hibernate 的 DetachedCriteria 来限制结果的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11507868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com