220820 @AllArgsConstructor의 위험성, @ElementCollection

Jongleee·2022년 8월 20일
1

TIL

목록 보기
33/576

@AllArgsConstructor의 위험성

이 어노테이션은 클래스에 존재하는 모든 필드에 대한 생성자를 자동으로 생성하지만, 인스턴스 멤버의 선언 순서에 영향을 받기 때문에 만약 변수의 순서가 바뀌면 생성자의 입력 값 순서가 바뀔 가능성이 생긴다.

즉, 보이지 않는 생성자로 인한 오류가 발생하고 그로 인해 오류의 검출 또한 어렵게 된다.

@ElementCollection

"부모 엔티티_해당 엔티티"라는 테이블 생성되며 연관된 부모 Entity 하나에만 연관되어 관리된다.
이 테이블은 부모 Entity Id와 추가 컬럼(해당 엔티티)로 구성된다.
항상 부모와 함께 저장되고 삭제되므로 cascade = ALL이 기본적으로 탑재되어 있음.
컬렉션 값 변경 시, 전체 삭제 후 새로 추가하는 방식의 업데이트가 이루어 짐.

0개의 댓글