kma*_*oor 41 java jpa sql-order-by criteria-api
我遇到了一个简单的问题; 奋力如何调用order by
上join
编辑实体.基本上我正在努力实现以下目标JPA Criteria
:
select distinct d from Department d
left join fetch d.children c
left join fetch c.appointments a
where d.parent is null
order by d.name, c.name
Run Code Online (Sandbox Code Playgroud)
我有以下内容:
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaQuery<Department> c = cb.createQuery(Department.class);
Root<Department> root = c.from(Department.class);
Fetch<Department, Department> childrenFetch = root.fetch(
Department_.children, JoinType.LEFT);
childrenFetch.fetch(Department_.appointments, JoinType.LEFT);
c.orderBy(cb.asc(root.get(Department_.name)));
c.distinct(true);
c.select(root);
c.where(cb.isNull(root.get(Department_.parent)));
Run Code Online (Sandbox Code Playgroud)
如何实现order by d.name, c.name
用Criteria API
?我尝试使用Expression,Path但是没有用.任何指针将不胜感激.
lev*_*4ka 54
如果您需要添加几个订单,您可以制作类似的东西(但对于您的查询和不同的根对象)
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Route> query = criteriaBuilder.createQuery(Route.class);
Root<Route> routeRoot = query.from(Route.class);
query.select(routeRoot);
List<Order> orderList = new ArrayList();
query.where(routeRoot.get("owner").in(user));
orderList.add(criteriaBuilder.desc(routeRoot.get("date")));
orderList.add(criteriaBuilder.desc(routeRoot.get("rating")));
query.orderBy(orderList);
Run Code Online (Sandbox Code Playgroud)
小智 9
我使用Criteria API在订单上遇到了同样的问题.我找到了这个解决方案
CriteriaQuery<Test> q = cb.createQuery(Test.class);
Root<Test> c = q.from(Test.class);
q.select(c);
q.orderBy(cb.asc(c.get("name")), cb.desc(c.get("prenom")));
Run Code Online (Sandbox Code Playgroud)
我在做同样的事情时遇到了麻烦,我在这个页面上找到了一个解决方案:http: //www.objectdb.com/api/java/jpa/criteria/CriteriaQuery/orderBy_Order_
//javax.persistence.criteria.CriteriaQuery
//CriteriaQuery<T> orderBy(Order... o)
Run Code Online (Sandbox Code Playgroud)
指定用于对查询结果进行排序的排序表达式.替换以前的排序表达式(如果有).如果未指定排序表达式,则仅删除先前的排序(如果有),并且将不按特定顺序返回结果.排序表达式的从左到右的序列确定优先级,其中最左边的优先级最高.
参数:o - 零个或多个排序表达式
返回:修改后的查询
自:JPA 2.0
归档时间: |
|
查看次数: |
52142 次 |
最近记录: |