BeanCreationException 발생

채정윤·2025년 5월 13일

Error

목록 보기
3/9

주요 원인 : User 엔티티의 role 필드 관련 설정 오류

Property 'org.synergym.backend.entity.User.role' is annotated '@Enumerated' 
but its type 'java.lang.String' is not an enum

문제 원인 분석:

이 오류는 JPA 엔티티인 User 클래스의 role 필드가 @Enumerated 어노테이션으로 지정되어

enum으로 처리되어야 하지만, 실제 필드 타입은 java.lang.String으로 되어 있어 타입 불일치로 인해 발생했습니다.

해결 방법 :

Role enum 타입 생성 및 User 엔티티 수정:

  • Role이라는 이름의 enum (예: public enum Role { ADMIN, MEMBER })을 새로 정의합니다.
  • User 엔티티의 role 필드 타입을 String에서 새로 만든 Role enum 타입으로 변경합니다.
  • role 필드에 @Enumerated(EnumType.STRING) 어노테이션을 사용하여 데이터베이스에는 enum의 이름을 문자열로 저장하도록 설정합니다.

0개의 댓글