인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

pok_lu님의 프로필 이미지
pok_lu

작성한 질문수

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

엔티티 클래스 개발2

오류

작성

·

5.9K

0

ㅇ이게 무슨내용인가요 ㅠㅠ ?

답변 4

2

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

안녕하세요. pok_lu님

DB가 떠 있지 않거나, 설정에 오류가 있는 것으로 보입니다.

전체 프로젝트를 압축해서 올려주세요.

감사합니다.

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

pok_lu님의 프로필 이미지
pok_lu
질문자

메일 보내드렸습니다 !!

pok_lu님의 프로필 이미지
pok_lu

작성한 질문수

질문하기