- JPA를 사용하면, 직접 SQL을 작성하지 않고 JPA가 작성 해줌
- DBMS마다 SQL 문법이 다름 (Oracle : PL/SQL, MS-SQL : T-SQL …)
- 각 벤더별로 Dialect (방언) 클래스를 제공함
- DBMS 환경이 바뀌면 Dialect만 변경해주면 됨
설정
- Gradle (application.properties)
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect" />
목록
MySQLDialect
MySQLInnoDBDialect
- deprecated (5.2) →
hibernate.dialect.storage_engine=innodb
환경 변수 사용
- MySQL, InnoDB 지원
MySQLMyISAMDialect
- deprecated (5.2) →
hibernate.dialect.storage_engine=myisam
환경 변수 사용
- MySQL, MyISAM 지원
MySQLSpatialDialect
- deprecated (6.0) → MySQLDialect
- spatial 지원
MySQL8Dialect
- deprecated (6.0) → MySQLDialect
MySQL8SpatialDialect
MySQL5Dialect
MySQL57Dialect
MySQL55Dialect
- deprecated (6.0) → MySQLDialect
MariaDBDialect
MariaDB102Dialect
- deprecated (6.0) → MariaDBDialect
MariaDB106Dialect
- deprecated (6.0) → MariaDBDialect
- MariaDB 10.6 이상 지원
MariaDB103Dialect
- deprecated (6.0) → MariaDBDialect
- MariaDB 10.3 이상 지원
MariaDB103SpatialDialect
- deprecated (6.0) → MariaDBDialect
MariaDB10Dialect
- deprecated (6.0) → MariaDBDialect
MariaDB53Dialect