반응형 Hibernate2 [Spring Boot jpa] 다중 LEFT JOIN 시 MultipleBagFetchException 발생 문제 문제테스트 중, 다음과 같은 쿼리에서 MultipleBagFetchException이 발생함:@Query("SELECT h FROM House h " + "LEFT JOIN FETCH h.rooms r " + "LEFT JOIN FETCH r.roommates " + "LEFT JOIN FETCH h.pins " + "WHERE h.id = :houseId")Optional findHouseDetailsById(@Param("houseId") Long houseId);MultipleBagFetchException은 Hibernate에서 여러 개의 @OneToMany 관계를 fetch join할 경우 발생하는 문제로, 한 번의 쿼리로 여러 개의 컬렉션(List)을.. 2025. 1. 25. [Spring boot] SQL 예약어와 테이블 이름 충돌 문제 해결 Hibernate를 사용하여 Spring Boot 프로젝트를 개발할 때, 데이터베이스 테이블 이름이나 컬럼 이름이 SQL 예약어와 겹치는 경우 문제가 발생할 수 있습니다. 예를 들어, user라는 테이블 이름을 사용하면, user는 SQL에서 예약어로 사용되기 때문에 Hibernate가 생성하는 SQL 쿼리에서 오류가 발생할 수 있습니다.원인 SQL 예약어는 데이터베이스에서 특정한 의미를 가지고 있는 단어들입니다. 예약어를 테이블이나 컬럼 이름으로 사용하면, Hibernate가 자동으로 생성한 SQL 쿼리에서 예약어로 인식되어 충돌을 일으킬 수 있습니다. 예를 들어, user라는 테이블 이름을 사용하면, SQL 쿼리에서 "user"로 감싸지지 않으면 예약어로 간주되어 오류가 발생할 수 있습니다. 해결 .. 2025. 1. 25. 이전 1 다음