【发布时间】:2018-06-15 11:49:41
【问题描述】:
我是这个 API 的新手,我在使用子查询时遇到了一些问题。我正在使用QueryDsl - JPA。我有两张桌子,例如Film 和 Producer。在Producer 表中,我有一个主键producer_id,在Film 表中,我也有这个字段为producer_id,并且它已连接。我的目标是使用QueryDsl 计算特定producer 的film 实体的数量。
我写了类似的东西:
QFilm film = QFilm.film;
QProducer producer = QProducer.producer;
createQuery().from(film, producer).select(film.count())
.where(film.producerId.eq(producer.producerId)).fetch();
我得到了所有匹配结果的总和,例如在Producer 表中我有 2 个制片人,在Film 表中我有 4 部电影。第一个制片人有 2 部电影,第二个也有 2 部电影。这个查询的结果是 4。但我希望这个特定的查询只为第一个制片人返回 2 个,第二个制片人只返回 2 个。这个怎么存档?
【问题讨论】:
标签: java jpa jakarta-ee querydsl