JPA Dialect, DB 방언 설정

zwon·2023년 9월 24일
0

JPA

목록 보기
2/9

JPA는 특정 데이터베이스에 종속되어있지 않다
그래서 수 많은 DBMS가 있고 쿼리 작성도 조금씩 다르기때문에 사용하려는 데이터베이스를 JPA에게 알려줘야 JPA가 그에 맞게 해석할 수 있다.
즉 Dialect(방언) 설정을 해주어야한다.

Maven (META-INF/persistence.xml)

먼저 Maven에서 설정 파일 기본 템플릿이다.

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
             version="2.2">
    <persistence-unit name="이름">
        <properties>
            <!-- 속성 설정 -->
        </properties>
    </persistence-unit>
</persistence>
  • xmlns에 네임 스페이스, version에 사용할 JPA 버전 지정
  • <persistence-unit>의 name에 unit의 고유한 이름 설정.
    일반적으로 연결할 데이터베이스당 하나의 persistence unit을 등록
  • <properties> 아래에 JPA 표준 속성과 하이버네이트 속성을 설정

JPA를 사용할 때 필수적으로 설정해야하는 정보는 다음과 같다.
H2 데이터베이스를 예시로 하겠다.

<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"></property>
            <property name="javax.persistence.jdbc.user" value="sa"></property>
            <property name="javax.persistence.jdbc.password" value=""></property>
            <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"></property>
            <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect">
</property>
  • 필수적으로 들어가야하는 설정들을 추가해주었고 마지막 <property>를 확인해보면 다음과 같다.
  • 이 부분이 Dialect를 설정해준 부분인데 데이터베이스 dialect를 H2로 설정한 것이다.
<property
          name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect">
</property>

Gradle (application.properties)

spring.jpa.database-platform=org.hibernate.dialect.H2dialect

Dialect는 보통 데이터베이스 이름 + 버전으로 되어 있으며 본인 버전에 최대한 가까운 것을 선택하는 것을 추천한다.

dialect 예시

H2 : org.hibernate.dialect.H2Dialect.
오라클 10g : org.hibernate.dialect.Oracle10gDialect.
MySQL : org.hibernate.dialect.MySQL55Dialect 5.5 버전
MySQL : org.hibernate.dialect.MySQL57Dialect 5.7 버전
MariaDB : org.hibernate.dialect.MariaDBDialect
  • 만약 MariaDB 최신 버전의 기능을 추가로 사용하려면 다음 중 사용하려는 버전에 맞게 선택

    • MariaDB10Dialect

    • MariaDB53Dialect

    • MariaDB102Dialect

    • MariaDB103Dialect


profile
Backend 관련 지식을 정리하는 Back과사전

0개의 댓글