【发布时间】:2019-01-25 20:15:20
【问题描述】:
我有 3 个实体:汽车、租赁和客户。 租赁与汽车和客户有关。
我需要编写查询来查找超过 10 个不同客户租用的汽车
以下代码:
@Override
public List<CarEntity> findCarsRentedByDifferentCustomers() {
TypedQuery<CarEntity> query = entityManager.createQuery(
"SELECT car FROM CarEntity car join car.rentals cr " +
"WHERE(SELECT COUNT(re) FROM RentalEntity re " +
"join re.customer c " +
"GROUP BY c.id) > 10", CarEntity.class
);
return query.getResultList();
}
我总是收到DataIntegrityViolationException 或InvalidDataAccessApiUsageException。我已经尝试过以多种不同的方式编写此查询。
【问题讨论】:
-
我认为这里真正的问题是您的查询,而不是 JPQL。在这里查看一些表/实体结构以及示例数据会有所帮助。