데이터베이스 방언(Dialect)

JPA는 특정 데이터베이스에 종속되지 않는다. 하지만 데이터베이스마다 명령어 체계가 조금씩 다르다. 가령, Oracle 은 VARCHAR2 라면, MySQL 은 VARCHAR 이다. 이렇게 동일한 처리에 대해 조금씩 다른 명령어 체계를 데이터베이스 방언 (Dialect) 라고 한다.

image.png

Spring Boot Case

application.propertieshibernate.dialect 속성에 지정하면 된다. (or application.yml)

# H2 Database
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect

# Oracle 10g
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect

# MySQL (InnoDB)
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

Hibernate 는 40가지 이상의 Database Dialect 를 지원한다.