인프런 커뮤니티 질문&답변

백엔드개발자님의 프로필 이미지
백엔드개발자

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

양방향 연관관계와 연관관계의 주인 2 - 주의점, 정리

양방향 연관관계 설정할 때 컬렉션 질문입니다.

작성

·

136

1

Team 에서 양방향 연관관계를 걸 때 List<Member> members 처럼 컬렉션으로 리스트를 사용하는데, 뭔가 순서가 의미 없는 느낌(?) 인거 같아서 Set 을 쓰면 안되나요? 

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 백엔드개발자님^^!

Set을 써도 되지만 저는 권장하지 않습니다.

1. Set은 순서를 보장하지 않기 때문에, 사용하기 많이 불편하실꺼에요.

2. 테스트 등에서 중간에 하나만 꺼내고 싶을 때 불편합니다.

3. Set은 엔티티를 추가할 때 중복된 엔티티가 있는지 비교해야 합니다. 따라서 엔티티를 추가할 때 지연 로딩된 컬렉션을 초기화 하는 성능상 단점이 있습니다.

컬렉션에 대한 자세한 내용은 JPA책 14장 컬렉션과 부가기능을 참고해주세요^^

(결론은 List 쓰는게 좋습니다^^)

백엔드개발자님의 프로필 이미지
백엔드개발자

작성한 질문수

질문하기