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

박찬인님의 프로필 이미지
박찬인

작성한 질문수

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

값 타입 컬렉션

값 타입 컬렉션에서 일대다 매핑으로 바꾼 뒤!

작성

·

215

0

수정을 하고 싶을 때, 값 타입 컬렉션 경우에는 

.remove()와 .add()를 사용하여 아래와 같이 했습니다.

findMember.getAddressHistory().remove(new AddressEntity("oldCity1", "street1", "10000"));
findMember.getAddressHistory().add(new AddressEntity("newCity1", "street1", "10000"));

그렇다면, AddressEntity를 사용하여 엔티티의 경우에는 아래와 같이 사용하면 되나요?

AddressEntity addressEntity = em.find(AddressEntity.class, 2L);
Address address = new Address("newCity1", "street1", "10000");
addressEntity.setAddress(address);

setAddress와 같이 커밋시점에 변경 감지로 수정을 할 수 있다고 생각했습니다.

답변 1

0

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

안녕하세요. Chan Chan님

생각하신 것 처럼 사용하셔도 문제가 있는 것은 아닙니다.

다만 이 경우 그러니까 컬렉션이 아닌 경우라면

예를 들어서 Member에서 AddressEntity를 사용하기 보다는 Address를 직접 사용하는 것이 더 나은 방향이라 생각합니다.

감사합니다.

박찬인님의 프로필 이미지
박찬인
질문자

답변 감사합니다!!!

박찬인님의 프로필 이미지
박찬인

작성한 질문수

질문하기