엔티티 값 수정 시 @SuperBuilder 사용하기
@SuperBuilder(toBuilder = true) 어노테이션을 붙임으로써 상속 받은 속성의 값도 수정할 수 있다.
- 상속하는 클래스, 상속 받는 클래스 모두 어노테이션을 붙여야 한다.
Person 클래스
@SuperBuilder(toBuilder = true)
public class Person {
private String name;
private int age;
}
Person 클래스를 상속 받는 Member 클래스
@SuperBuilder(toBuilder = true)
public class Member extends Person {
private String nickname;
}
toBuilder()를 통해 엔티티 값 수정하기
@Service
public class MemberService {
...
private Member updateMember(Member member, String name, int age, String nickname) {
Member member1 = member
.toBuilder
.name(name) // Person 클래스에서 상속 받은 속성
.age(age) // Person 클래스에서 상속 받은 속성
.nickname(nickname)
.build();
memberRepository.save(member1);
return member1;
}
}
'프로젝트 & TIL > 일별 공부 기록 (백엔드 스쿨)' 카테고리의 다른 글
69일차 - 쿠버네티스 마운트, 설치 및 사용 (0) | 2023.05.31 |
---|---|
68일차 - 레디스, 쿠버네티스 준비 (0) | 2023.05.30 |
66일차 - 스프링 로그인 된 객체 이용하기 (0) | 2023.05.25 |
65일차 - 깃허브 협업, 아이콘 제작 (0) | 2023.05.24 |
64일차 - 젠킨스 설치, 파이프라인 프로젝트, 프로토타이핑 툴 (0) | 2023.05.23 |