小编Fil*_*vic的帖子

在休眠(springboot)中使用左连接和分页编写sql本机查询

我正在使用 spring 数据 JPA,我想在我的存储库中编写一个 SQL 查询。

我有以下 SQL 查询(注意 LEFT JOIN):

SELECT * FROM institution LEFT JOIN 
(select * from building_institutions where building_institutions.building_id = 1) as reserved_institutions
ON reserved_institutions.institutions_user_id = institution.user_id
WHERE reserved_institutions.institutions_user_id is null;
Run Code Online (Sandbox Code Playgroud)

我想在我的 InstitutionRepository 中执行它,如下所示:

@Repository
public interface InstitutionRepository extends JpaRepository<Institution, Long>, PagingAndSortingRepository<Institution,Long> {
    // doesn't work
    //@Query("SELECT b.institutions as bi FROM Building b left join Institution i WHERE bi.building_id not in :id")
    Page<Institution> findPotentialInstitutionsByBuildingId(@Param("id") Collection<Long> id, Pageable pageable);

    // doesn't work    
    @Query(
            value = "SELECT * …
Run Code Online (Sandbox Code Playgroud)

java mysql sql spring spring-data-jpa

7
推荐指数
1
解决办法
5170
查看次数

标签 统计

java ×1

mysql ×1

spring ×1

spring-data-jpa ×1

sql ×1