Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用JPA中的criteria builder左连接一对多关系以获得子表的计数_Java_Mysql_Hibernate_Jpa - Fatal编程技术网

Java 如何使用JPA中的criteria builder左连接一对多关系以获得子表的计数

Java 如何使用JPA中的criteria builder左连接一对多关系以获得子表的计数,java,mysql,hibernate,jpa,Java,Mysql,Hibernate,Jpa,这里订单有客户,我想得到客户表以及每条记录的订单数量。 如何在此处左键联接订单表?如果客户与订单有一对多关系 '* Class customer{ @Id @Column(name = "id") int id; @Column(name = "id") String name; @oneToMany List<Order> orders; } *' '* 类客户{ @身份证 @列(name=“id”) int-id; @列(name=“id”)

这里订单有客户,我想得到客户表以及每条记录的订单数量。 如何在此处左键联接订单表?如果客户与订单有一对多关系

'*

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


*'
'*
类客户{
@身份证
@列(name=“id”)
int-id;
@列(name=“id”)
字符串名;
@独身癖
列出订单;
}
*'
"*

CriteriaBuilder cb=em.getCriteriaBuilder();
CriteriaQuery q=cb.createQuery(CustomerView.class);
Root=q.from(Customer.class);

q、 我想知道任何JPA文档都会对加入标准说些什么?请你重新表述你的问题。
 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();