[JPA] 값 타입 공유문제
임베디드 값타입을 공유하는 두 객체가 있다. 한 객체에서 임베디드 값타입을 수정하면 이를 공유하는 다른 객체의 임베디드 값타임도 수정된다. 이는 자바에서 참조값을 수정하면 이를 참조하는 모든 객체의 값이 바뀌는 것과 동일한 원리이다. 근데 막상 임베디드 타입을 수정하니 한 객체에서만 수정되는 상황이 발생했다. 분명 공부할 때는 이를 공유하는 모든 객체의 임베디드 타입이 수정된다고 배웠는데 왜 한 객체만 수정되는 걸까? 그 이유는 ORM을 잘못 이해하고 사용했기 때문이었다. Member 엔티티 다른 필드들은 볼 필요없이 homeAddress 필드에만 집중하면 된다. @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") p..
JPA
2023. 9. 17. 15:30