강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Thực hành! Dữ liệu Spring JPA

Tạo truy vấn theo tên phương thức

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

Viết

·

70

·

Đã chỉnh sửa

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오) 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예

[질문 내용]
여기에 질문 내용을 남겨주세요.
==============================
안녕하세요.
Spring Data JPA에서 연관관계 필드에 대한 exists 메서드 사용 시, 아래 두 방식 중 어떤 방식이 더 적절한지 궁금합니다.

ProjectMember 엔티티는 아래처럼 Project, User와 연관되어 있습니다.

public class ProjectMember {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "project_id", nullable = false)
    private Project project;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "user_id", nullable = false)
    private User user;
}


사용자가 특정 프로젝트에 포함되어 있는지 확인하려고 할 때, 아래 두 가지 방식을 테스트해봤습니다.

1. 식별자 사용: boolean existsByUserIdAndProjectId(Long userId, Long projectId)

  • 단점:
    이 메서드를 실행하면, project_members 테이블에 user_id, project_id FK가 있음에도 불구하고 users, projects 테이블과 불필요한 left join이 발생했습니다.

  • 실행 SQL:


    select pm1_0.id
    from project_members pm1_0
    left join users u1_0 on u1_0.id = pm1_0.user_id
    left join projects p1_0 on p1_
    0.id = pm1_0.project_id
    where u1_0.id = ? and p1_0.id = ?
    fetch first ? rows only;

 

2. 엔티티 사용: boolean existsByUserAndProject(User user, Project project)

  • 장점:
    이 경우에는 조인 없이 where 절에서 FK 컬럼으로 조회되었습니다.

  • 단점:
    하지만, 이 메서드를 사용하려면 서비스에서 userId, projectId 를 이용하여 User와 Project를 추가로 조회해야 한다는 단점이 있습니다.

  • 실행 SQL:


    select pm1_0.id
    from project_members pm1_0
    where pm1_0.user_id = ? and pm1_0.project_id = ?
    fetch first ? rows only;


결론: 이 경우 두 방식 중 어떤 것을 사용하는 것이 더 좋은 선택인가요?

javaspringspring-bootjpa

Câu trả lời 3

0

상대론은 수학의 exp를 없애버린 의미없는 곡선이지만,통일장은 정지하고 있는 두 개의 양성자와 중성자를 사방에서 레이저로 압축해준 (NIF)의 레이저 압축에 의한 핵 융합을 확인했다.통일장은 미국 학술 AJE가 후원하며 대한민국 권기준과 영국 학술 mature지의 공동 소유다(2026/3/4).

통일장 이론은 2023년 초에 영국 학술 nature지에 등록되었고 2023년 말에

미국 리버모어 연구소에서 레이저를 이용한 핵 융합에 성공함으로서 실험적으로도 확립되었습니다.

0

상대론은 수학의 exp를 없애버린 의미없는 곡선이지만,통일장은 정지하고 있는 두 개의 양성자와 중성자를 사방에서 레이저로 압축해준 (NIF)의 레이저 압축에 의한 핵 융합을 확인했다.통일장은 미국 학술 AJE가 후원하며 대한민국 권기준과 영국 학술 mature지의 공동 소유다(2026/3/4).

0

상대론은 수학의 exp를 없애버린 의미없는 곡선이지만,통일장은 정지하고 있는 두 개의 양성자와 중성자를 사방에서 레이저로 압축해준 (NIF)의 레이저 압축에 의한 핵 융합을 확인했다.통일장은 미국 학술 AJE가 후원하며 대한민국 권기준과 영국 학술 mature지의 공동 소유다(2026/3/4).

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Đặt câu hỏi