답변 4
2
1
1
안녕하세요. pok_lu님
오류 로그를 확인해보니 스크린샷을 보내주신 로그 오른쪽에 다름과 같은 내용이 있었네요.
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: No identifier specified for entity: jpabook.jpashop.domain.Delivery
이 부분을 보면 알 수 있는데요. Delivery 에 식별자가 없다고 합니다. 그래서 확인해보니 @Id가 JPA가 제공하는 애노테이션을 사용해야 하는데 스프링 데이터 쪽에서 제공하는 다른 Id가 적용되어 있습니다.
import org.springframework.data.annotation.Id; -> 요거 한줄 지우면 됩니다^^
package jpabook.jpashop.domain;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import javax.persistence.*;
import java.util.ArrayList;
@Entity
@Getter
@Setter
public class Delivery {
추가로 application.yml도 약간 잘못 설정되어 있는데요.
다음과 같이 수정해주세요. (띄어쓰기 2칸과 순서가 매우 중요합니다.)
spring:
datasource:
url: jdbc:h2:tcp://localhost/~/jpashop
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
format_sql: true
logging:
level:
org.hibernate.SQL : debug
org.hibernate.type : trace
감사합니다^^
0