【发布时间】:2014-09-04 17:22:32
【问题描述】:
我想在其中进行查询,其中有一个 su-query,那么这将进行查询。
SELECT * FROM orders orda WHERE orda.id_orders IN
(SELECT ordb.id_orders FROM orders ordb WHERE orda.identifier = ordb.identifier LIMIT 1)
目前我的结构与其他参数如下:
return new Specification<Orders>() {
@Override
public Predicate toPredicate(Root<Orders> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder cb) {
Subquery<Orders> ordersSubquery = criteriaQuery.subquery(Orders.class);
Root rootB = ordersSubquery.from(Orders.class);
ordersSubquery.select(rootB.get(Orders_.id_orders));
ordersSubquery.where(cb.equal(root.get(Orders_.identifier), rootB.get(Orders_.identifier)));
criteriaQuery.orderBy(cb.asc(root.get(Orders_.created_at)));
criteriaQuery.groupBy(root.get(Orders_.created_at));
Predicate temp = cb.and(
root.get(Orders_.id_orders).in(ordersSubquery)
);
return temp;
}
};
当我在子查询中包含 LIMIT 语句时,谁能提供帮助?谢谢!
【问题讨论】:
标签: jpa subquery limit criteria