[JPA] Hibernate Dialect(방언)
들어가기
SQL에는 표준 ANSI SQL이 존재하고,
DBMS Vendor(공급 업체)인 MS-SQL, Oracle, MySQL, PostgreSQL에서 제공하는 각각의 고유한 SQL이 존재한다.
ANSI SQL은 모든 DBMS에서 공통적으로 사용 가능한 표준 SQL이지만,
DBMS Vendor에서 제공하는 SQL은 해당 DBMS에서만 사용이 가능하다.
ORM은 DB에 맞는 SQL문을 자동으로 생성해주기 때문에 해당 프로젝트에서 어떤 DBMS를 사용하는지 설정해주어야 한다.
이러한 설정이 Dialect이다.
💡 Dialect 이란?
JPA의 가장 큰 특징이자 장점은 객체간 관계를 바탕으로 SQL 쿼리를 자동으로 생성해서 DB에 전달해주는 것이다.
하지만, DB의 종류는 다양하고 각각 DB마다 SQL 문법이 다르기 때문에 어떤 DB에 맞는 SQL 쿼리를 생성할 것인지 설정해야 한다.
이때 사용되는 것이 Dialect(방언)이다.
Dialect(방언)는 JPA 구현체(Ex. Hibernate)가 사용하는 SQL 방언을 추상화한 것으로, 각각 DB에 맞는 SQL 문법을 처리한다.
추상화된 Dialect 클래스를 사용함으로써, DB가 변경되어도 Dialect 설정만 변경해주면 된다.
💡 Dialect 설정
✔️ application.yml
spring:
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
Dialect 설정으로 인해 Hibernate는 MySQL에 해당되는 SQL 문을 자동으로 생성해준다 !
✔️ Hibernate Dialect
Hibernate에서 제공하는 Dialect은 아래 링크를 참고하면 편하다.
https://docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/dialect/package-summary.html
출처
긴 글 읽어주셔서 감사합니다 🍀
잘못 작성된 내용은 피드백 주시면 반영하겠습니다 😎