2023/10/13 2

Hibernate - Oracle Dialect 정확히 사용하기

서론 (Introduction) JPA를 사용하면 대표적인 구현체인 HIbernate를 사용하게 됩니다. HIbernate는 SQL 쿼리를 생성하주는 기능을 가지고 있는데, MySQL, Oracle 등 데이터베이스 마다 문법이 조금씩 다르기 때문에 Dialect(방언)을 설정해 주어야합니다. 이번 글에서는 Oracle 데이터베이스를 위한 Dialect 설정에 대해서 다루어보도록 하겠습니다. 본문 (Body) a. org.hibernate.dialect Hibernate에서는 데이터베이스 방언들을 org.hibernate.dialect 패키지에 정리하고 있습니다. 이 패키지의 내용은 hibernate 버전이 변경되면서 조금씩 바뀌어왔습니다. 여기에서는 이전 버전과 현재 버전의 dialect 적용에 대해서 ..

카테고리 없음 2023.10.13

JPA - Value '0000-00-00' can not be represented as java.sql.Date

서론 (Introduction) JPA를 사용한 스프링 프로젝트를 기존에 존재하던 오라클 데이터베이스에 접속하자 JPA - Value '0000-00-00' can not be represented as java.sql.Date 에러가 발생했습니다. 이 에러가 발생한 원인과 해결과정에 대해서 다루어보겠습니다. 원인 파악 (Diagnosis) 먼저 상황을 재현해보도록 하겠습니다. 아래와 같이 LocalDate 타입을 가진 필드를 선언한 엔티티를 이용해 데이터베이스에서 데이터를 가져오는 과정에서 에러가 발생했습니다. 날짜가 포함된 컬럼에 '0000-00-00' 데이터를 가진 튜플이 있었는데, 이 튜블을 데이터베이스에서 조회해 클래스로 변환하는 과정에서 에러가 발생했습니다. @Entity(name = "per..

카테고리 없음 2023.10.13