Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 1.29 KB

Hibernate dialect.md

File metadata and controls

23 lines (19 loc) · 1.29 KB
  • 하이버네이트가 데이터베이스와 통신을 하기 위해 사용하는 언어를 Dialect라고 한다.
  • 모든 데이터베이스에는 각자의 고유한 SQL언어가 있는데, 관계형 데이터베이스끼리 형태나 문법이 어느정도 비슷하긴 하지만, 완전히 똑같지는 않다.
    • 예를 들어 Oracle 쿼리 구문과 MySQL 쿼리구문은 다르다.
  • 하지만, 하이버네이트는 한 데이터베이스관리시스템(DBMS)에 국한되지않고, 다양한 DBMS에 사용 가능하다.
    • 즉 내부적으로 각자 다른 방법으로 처리하고 있는 것이다.
    • 그렇기 때문에특정 벤더(DBMS)에 종속적이지 않고, 얼마든지 대체가능하다.
  • JPA에서는 아래와 같이 Dialect라는 추상화된 언어 클래스를 제공하고 각 벤더에 맞는 구현체를 제공하고 있다.

image

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test
    username: username
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect # 여기

yml 파일에서 설정하는 저 코드가 dialect를 설정하는 부분이다.