강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

terecal님의 프로필 이미지
terecal

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

엔티티 클래스 개발2

테이블 생성이 안되서 메일과 프로젝트 압축 파일 보냈어요

작성

·

216

0

아래와 같은 내용으로 질문 메일 보냈어요 답변해주시면 감사여!

메일 내용:

안녕하세요 존경하는 김영한 강사님!

도메인 클래스들에 jpa관련 설정을 한뒤  src\main\java\jpabook\jpashot\JpashotApplication.java 의 메인 함수 실행을 해서 

테이블 생성을 하려 했는데  에러가 발생했는데 어떻게 고쳐야 될지 잘모르겠어서여

 

강의:

엔티티 클래스 개발2 

www.inflearn.com/course/스프링부트-JPA-활용-1/lecture/24768?tab=note&speed=1 

7분 44초쯤

 

error:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: Attribute [jpabook.jpashot.domain.Order.status] was annotated as enumerated, but its java type is not an enum [jpabook.jpashot.domain.OrderStatus]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) ~[spring-beans-5.3.2.jar:5.3.2]


압축 파일로 첨부했는데 한번 봐주시면 감사여!

좋은 하루되세여!

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. terecal님

오류 메시지에 답이 있네요^^

java type is not an enum [jpabook.jpashot.domain.OrderStatus]

OrderStatus는 enum으로 변경해주세요.

변경전

package jpabook.jpashot.domain;

public class OrderStatus {
}

변경후

package jpabook.jpashot.domain;

public enum OrderStatus {
}

추가로 Album, Book Movice도 Item을 상속받도록 해주세요.

변경전

package jpabook.jpashot.domain.item;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

@Entity
@DiscriminatorValue("M")
@Getter
@Setter
public class Album {
private String artist;
private String etc;
}

변경후

package jpabook.jpashot.domain.item;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

@Entity
@DiscriminatorValue("M")
@Getter
@Setter
public class Album extends Item {
private String artist;
private String etc;
}

Category.itmes -> Category.items로 변경해주세요.

Item과 Category에 코드가 잘못되어 있습니다. 보시고 변경해주세요.

Album의 @DiscriminatorValue("M")를 @DiscriminatorValue("A")로 변경해주세요.

그러면 되실거에요^^

감사합니다.

terecal님의 프로필 이미지
terecal

작성한 질문수

질문하기