엔티티를 속성을 작성할때 생성자를 빈 생성자를 막고 싶으면 private 대신 proteced를 써야한다 왜냐하면
jpa가 proxy기능 등을 사용할때 private로 막혀있으면 프록시 기능을 쓸 수 없기 때문이다.
따라서 protected로 막을 수 있는데 롬복이 설치되어있다면 proteced대신 @NoArgsConstructor(access = AccessLevel.PROTECTED)로 대신 사용할 수 있다.
@Entity
@Getter
@Setter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Member {
@Id
@GeneratedValue
@Column(name = "member_id")
private Long id;
private String userName;
private int age;
@ManyToOne
@JoinColumn(name = "team_id")
private Team team;
// protected Member() {
// }
public Member(String userName) {
this.userName = userName;
}
}