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

용맹돌맹님의 프로필 이미지

작성한 질문수

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

값 타입 컬렉션

값 타입 컬렉션 수정 시 한계점 설명 부분 이해가 안가요

해결된 질문

24.07.14 22:50 작성

·

172

0

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


[질문 내용]
값 타입 컬렉션을 수정할 때, Set<String>과 List<Address>가 다르게 동작하는 걸로 이해했습니다.

Set<String>은 원하는 값을 equals()로 찾아서 해당 값을 지우고 원하는 값만 insert하는 것으로요.

그런데 List<Address>는 컬렉션의 모든 데이터를 삭제

(delete * from address)하고 컬렉션 안에 있는 현재 값을 모두 다시 저장해서 insert쿼리가 여러번 실행되는 것까지 이해했습니다.

이런 원인이 Address가 임베디드 값 타입이라서 그런건가요?

그런데 실무에서는 값 타입 컬렉션 대신 일대다 관계를 쓰는 편이라고 하셨는데, 여기서 지칭하는 값 타입 컬렉션은 임베디드 값 타입만 지칭하는게 아니라 String, Integer타입같은 Java 기본 제공 클래스들도 포함하는 말인가요?

답변 1

2

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

2024. 07. 15. 18:49

안녕하세요. 용맹돌맹님

네 맞습니다. 임베디드 값 타입이어서 그렇습니다.

추가로 값 타입 컬렉션은 단순히 String 타입을 컬렉션으로 쓰는 경우도 포함입니다.

감사합니다.