как оставить соединение «один ко многим», чтобы получить счетчик дочерней таблицы с помощью построителя критериев в JPA - PullRequest
0 голосов
/ 27 апреля 2018

Здесь у заказов есть клиент, я хочу получить таблицу клиентов вместе с количеством заказов для каждой записи. как оставить таблицу заказов здесь? если клиент имеет один ко многим отношения с заказом.

'*

Class customer{
 @Id
  @Column(name = "id")
  int id;
  @Column(name = "id")
  String name; 
  @oneToMany
  List<Order> orders; 
}


*'

'*

 CriteriaBuilder cb = em.getCriteriaBuilder();
 CriteriaQuery<CustomerView> q = cb.createQuery(CustomerView.class);
 Root<Customer> root = q.from(Customer.class);
 q.select((Selection<? extends CustomerView>) 
 Root<Order> orderRoot = q.from(Geofence.class) cb.tuple(root,cb.count(orderRoot.get("customer")).alias("orderCount")));
 q.where(cb.equal(root.get("id"), orderRoot.get("customer")));
 q.groupBy(root.get("id"));
 TypedQuery<CustomerView> query = em.createQuery(q);
 List<CustomerView> results = query.getResultList();

*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...