JPA-MySQL 설정하기

KMS·2022년 4월 1일
0

JPA Basics

목록 보기
1/20

1. pom.xml 설정하기

-> 추가 설치된 MySQL 버전에 맞춰서 설정하기


4.0.0
jpa-basic
ex1-hello-jpa
1.0.0

    <!-- JPA 하이버네이트 -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.3.10.Final</version>
    </dependency>
    <!-- H2 데이터베이스 -->
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.199</version>
    </dependency>
    <!-- MySql 데이터베이스 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.19</version>
    </dependency>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
</dependencies>
<properties>
    <maven.compiler.source>14</maven.compiler.source>
    <maven.compiler.target>14</maven.compiler.target>
</properties>

2. persistence.xml 설정하기

-> MySQL 외 다른 DB 사용 할 시(H2, Oracle, etc.), 필수 속성 부분을 알맞게 변경
-> 각 DB마다 쿼리가 조금씩 차이가 있기 때문에(ex: MySQL은 VARCHAR, Oracle은 VARCHAR2) dialect 설정 중요
->dialect 설정시 각 DB에 맞게 알아서 쿼리를 보냄
-> Drop Table이후 자동으로 Create Table 실행 => 실무 상황에서는 무조건 사용 X; 실무 상황에서는 value="validate" 정도만 사용



        <!-- 필수 속성 -->
        <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
        <property name="javax.persistence.jdbc.user" value="*mysql username 입력*"/>
        <property name="javax.persistence.jdbc.password" value="mysql password 입력"/>
        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpa"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect"/>

        <!-- 옵션 -->
        <property name="hibernate.show_sql" value="true"/>
        <property name="hibernate.format_sql" value="true"/>
        <property name="hibernate.use_sql_comments" value="true"/>
        <property name="hibernate.hbm2ddl.auto" value="create" /> <!-- value="create" 사용시 Drop Table이후 자동으로 Create Table 실행 => 실무 상황에서는 무조건 사용 X -->
    </properties>
</persistence-unit>
profile
Student at Sejong University Department of Software

0개의 댓글