No default constructor for entity 오류

가이드문구

SpringBoot JpaRepository 공부 중에 발생된 오류메세지이다.

org.hibernate.InstantiationException: No default constructor for entity


기본 생성자가 없다는 오류이다.

Entity를 JpaRepository에서 가져올 때 기본 생성자를 사용하는데, 생성자가 없어서 오류가 발생한다는 내용이다.


해결방법

1. 생성자를 추가한다.

  1. @Data
  2. @Entity(name="member")
  3. public class MemberVo {
  4. @Id
  5. @GeneratedValue(strategy = GenerationType.IDENTITY)
  6. private Long mbrNo;
  7. private String id;
  8. private String name;
  9.     private MemberVo(){
  10.     }
  11. @Builder
  12. public MemberVo(String id, String name) {
  13. this.id = id;
  14. this.name = name;
  15. }
  16. }


2. NoArgsConstructor 어노테이션을 선언한다.

파라미터가 없는 생성자를 만들어주는 어노테이션이다.

  1. @Data
  2. @Entity(name="member")
  3. @NoArgsConstructor
  4. public class MemberVo {
  5. @Id
  6. @GeneratedValue(strategy = GenerationType.IDENTITY)
  7. private Long mbrNo;
  8. private String id;
  9. private String name;
  10. @Builder
  11. public MemberVo(String id, String name) {
  12. this.id = id;
  13. this.name = name;
  14. }
  15. }
작성자 소개
초이 프로필
WrapUp 블로거

초이

반려견을 좋아하고, 차를 좋아하고, 여행을 좋아하고, 맛집을 찾아 즐기는 웹 개발자 입니다^^