나와바리 - domain 기본 엔티티

Sungmin·2023년 3월 22일
0

Entity 에 쓰인 어노테이션

@Entity

데이터베이스의 테이블과 일대일로 매칭되는 객체단위를 의미

@NoArgsConstructor

역할: 파라미터가 없는 기본 생성자를 만들어 준다(@Entity 어노테이션을 사용하면 내부적으로 기본 생성자를 만들어 줌.)
-JPA는 기본 스펙상 기본 생성자를 요구한다.

@NoArgsConstructor( access = AccessLevel.PROTECTED)
기본 생성자를 추가하되, 접근 제안을 걸어 안정성도 높이는 것.

@Getter

필드를 조회해야 할 경우 필요


★중요!!★

@Setter 어노테이션을 사용할 경우 각 필드에 대해 일관성이 깨지기 때문에 사용하지 않는다.

@Setter를 대신하는 방법으로 Bulider 패턴 사용이 있다.
★주의!!★
빌더 패턴을 사용하려면 각 메서드마다 @Builder를 붙여줘야 한다.


결론

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Member {
... 중략

    @Builder
    public Member(String nickname, String profile_img) {
        this.nickname = nickname;
        this.profile_img = profile_img;
    }
}
  1. @NoArgsConstructor(access = AccessLevel.PROTECTED)로 변경 하여 안정성을 높힘.
  2. @Builder 어노테이션을 생성자에 추가하여 필요한 값만 적용.
profile
Let's Coding

0개의 댓글