首页 > 解决方案 > 在没有 NativeQuery 的 JPA 中使用连接表 id 进行查询

问题描述

我的对象是

@Entity
public class DiscoveryResult {
     .....
      @ManyToOne
      @JoinColumn
      private Company company;
     ....

我想这样查询;

@Query(value="SELECT scope from DiscoveryResult where company = :companyId group by scope")
List<String> findDistinctCategories(long companyId);

如何通过公司下的id查询

标签: javajpa

解决方案


您需要连接DiscoveryResultCompany实体,然后将 的idCompanycompanyId查询参数进行比较。

@Query(value="SELECT r.scope from DiscoveryResult r JOIN r.company c where c.id = :companyId group by scope")
List<String> findDistinctCategories(long companyId);

推荐阅读