dev/spring data JPA
기본 및 설정
dev_0hoon
2024. 3. 4. 23:15
@Entity
@Getter @Setter
public class Member {
@Id @GeneratedValue
private Long id;
private String username;
public Member(String username) {
this.username = username;
}
protected Member() {
}
}
jpa표준 스펙에 엔티티는 기본생성자가 있어야한다.
생성자는 private가 아닌 protected 정도로 열어둬야 한다고 한다. 왜냐면 JPA 프록시 기술을 쓰는데 JPA가 객체를 프록시로 강제로 객체를 만들기 때문에 열어둬야한다고 스펙에 되어있다.