No default constructor for entity 오류
SpringBoot JpaRepository 공부 중에 발생된 오류메세지이다.
org.hibernate.InstantiationException: No default constructor for entity
기본 생성자가 없다는 오류이다.
Entity를 JpaRepository에서 가져올 때 기본 생성자를 사용하는데, 생성자가 없어서 오류가 발생한다는 내용이다.
해결방법
1. 생성자를 추가한다.
@Data
@Entity(name="member")
public class MemberVo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long mbrNo;
private String id;
private String name;
private MemberVo(){
}
@Builder
public MemberVo(String id, String name) {
this.id = id;
this.name = name;
}
}
2. NoArgsConstructor 어노테이션을 선언한다.
파라미터가 없는 생성자를 만들어주는 어노테이션이다.
@Data
@Entity(name="member")
@NoArgsConstructor
public class MemberVo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long mbrNo;
private String id;
private String name;
@Builder
public MemberVo(String id, String name) {
this.id = id;
this.name = name;
}
}