출처 : 자바 ORM 표준 JPA 프로그래밍 - 기본편
WARN: HHH000457: Joined inheritance hierarchy [hellojpa.Item] defined explicit @DiscriminatorColumn.
실습을 하다 생긴 에러이다.
(제일 처음에 난 에러.
💡 에러가 날 때는 제일 먼저,
에러가 난 첫 번째 지점의 에러부터 해결한다.
첫 번째 에러 해결하면 그 뒤에 에러 줄줄이 해결 될 가능성 높음)
난 분명히
<property name="hibernate.hbm2ddl.auto" value="create" />
로 했는데, 실행할 때마다 테이블이 삭제되고 새로 생성되지 않는 것이다?
아마 삭제할 때 에러가 난 듯 하고, 값도 새로 설정이 되는 게 아니라 자꾸 추가가 되었다.
그래서 구글링...
이 질의응답 보고 해결했다!
난 JPA 활용 1 강의를 먼저 듣고 이 강의를 들어서 그런지 (역순서)
김영한쌤이랑 똑같이 환경 세팅을 해도
자바 버전이랑 하이버네이트 버전 같은 게 꼬일 때가 종종 있었다.
💡 만약, H2가 1.4.200 버전이라면
하이버네이트 버전을 5.4.13.Final 버전 이상부터 사용하면 된다고 한다.
<!-- JPA 하이버네이트 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.4.13.Final</version>
</dependency>
pom.xml을 이렇게 수정하면 된다.
김영한쌤 실습은
<version>5.3.10.Final</version>
5.3.10.Final 버전이다.
++ 아 그리고 또 만약 자바 11 사용할 거면 pom.xml에
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
이거 넣어야 에러 안 난다..!
아마 이 강의는 김영한쌤이 자바 8인가? 사용하시는데,
자바 11로 가면 지원하지 않는 기능이라나.. 그렇다고 한다.
(추천X)
(id, name)