Spring Boot
-
[SpringBoot] ManyToOne으로 설정된 엔티티 조회Back-end/TIL 2022. 3. 17. 09:18
# ManyToOne으로 설정된 엔티티 조회 //예시 Entity @Entity class PharmacyMenu { ... @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "upper_menu_id") private PharmacyMenu upperPharmacyMenu; ... } //예시 Repository 코드 @Query("select pm.id as id, " + "pm.upperPharmacyMenu.id as upperMenuId " + "from PharmacyMenu pm " + "where pm.id = :menuId") Optional findByMenuId(@Param("menuId") Long menuId); 필요한 값은 uppe..
-
[SpringBoot] Repository에서 nativeQuery 사용시 / private final로 변수 선언하는 이유 / Page vs. SliceBack-end/TIL 2022. 3. 16. 09:39
# Repository에서 nativeQuery 사용시 //Bad @Query(...) Page findAll(Pageable pageable); //Good @Query(...) Page findAll(Pageable pageable); public interface DtoVo { Long getId(); } 첫 번째 방식: Object 배열의 인덱스로 접근해야 하므로, 오류 발생 가능성이 크다. 두 번째 방식 interface에 필요한 필드를 불러오는 getter 메서드만 선언해둔다. Spring Data JPA에서 @Query()에서 설정한 변수 값으로 DtoVo에 바로 매핑해준다. (nativeQuery외에 일반 JPQL에서도 동일하게 작동함) //예시 코드 @Query("select pm.id ..