
Lombok을 통해서 Getter과 Setter을 anotation으로 지정하면, 따로 구현해주지 않아도 되는 장점이 있다.
@Getter
@Setter
public class User {
@Id
private Long id;
private String name;
}
그러나 Primary Key로 사용되는 Long type의 id는 setter을 제공해서는 안된다.
그렇기에, Lombok의 Setter에서 Primary Key 값을 변경하지 않게 하는 방법에 알아보면 다음과 같다.
@Getter
@Setter
public class User {
@Id
@Setter(AccessLevel.NONE)
private Long id;
private String name;
}
@Setter(AccessLevel.NONE라는 anotation을 해당 멤버에 적용하게 되면, 해당 멤버는 setter로 접근할 수 없게 된다.