해결된 질문
작성
·
210
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
값 타입 컬렉션을 수정할 때, Set<String>과 List<Address>가 다르게 동작하는 걸로 이해했습니다.
Set<String>은 원하는 값을 equals()로 찾아서 해당 값을 지우고 원하는 값만 insert하는 것으로요.
그런데 List<Address>는 컬렉션의 모든 데이터를 삭제
(delete * from address)하고 컬렉션 안에 있는 현재 값을 모두 다시 저장해서 insert쿼리가 여러번 실행되는 것까지 이해했습니다.
이런 원인이 Address가 임베디드 값 타입이라서 그런건가요?
그런데 실무에서는 값 타입 컬렉션 대신 일대다 관계를 쓰는 편이라고 하셨는데, 여기서 지칭하는 값 타입 컬렉션은 임베디드 값 타입만 지칭하는게 아니라 String, Integer타입같은 Java 기본 제공 클래스들도 포함하는 말인가요?
답변 1
2
안녕하세요. 용맹돌맹님
네 맞습니다. 임베디드 값 타입이어서 그렇습니다.
추가로 값 타입 컬렉션은 단순히 String 타입을 컬렉션으로 쓰는 경우도 포함입니다.
감사합니다.