假设我有 3 个实体:
Car
Place
Visit
AVisit
表示当 aCar
访问 a时发生的事件Place
,因此它将具有到达时间、离开时间和 2 个外键,一个到 the Car
,一个到Place
.
在 JPA 中,Visit
有@ManyToOne
关系到Car
和@ManyToOne
关系到Place
. (所以 aCar
可以进行多次访问,aPlace
可以进行多次访问),使用上面的外键。
假设我想知道Car
访问所有Place
s (或多个Place
s,没关系)的(唯一)s 的列表,获得 aMap<Place, List<Car>>
以便仅在一个 SQL 查询中完成的最佳方法是什么?
在普通的原生 SQL 中,我们只会使用join
and group by
,是否有一些 JPA 技巧可以优雅地实现这一点?
我正在使用 JPA 2.0(休眠 4.1)。