본문 바로가기
Spring/JPA

환경세팅

by YellowCow 2023. 2. 24.

Dependency 목록

 

maven

<dependencies>
	<!-- DB 드라이버 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.27</version>
    </dependency>

    <!-- hibernate-entitymanager -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.6.11.Final</version>
    </dependency>

    <!-- lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.24</version>
        <scope>provided</scope>
    </dependency>

</dependencies>

 

 

persistence.xml 

아래 경로에 persistence.xml 파일을 작성한다

src/main/resources/META-INF/persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
             xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
    <persistence-unit name="prac-persistence">
        <properties>
            <!-- DataSource 설정 -->
            <property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/jpaPrac"/>
            <property name="javax.persistence.jdbc.user" value="root"/>
            <property name="javax.persistence.jdbc.password" value="auddhr4494"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect"/>

            <!-- JPA 설정 -->
            <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"/>
        </properties>
    </persistence-unit>
</persistence>

 

추가 1) persistence.xml 에서 h2 DB Driver를 찾지못하는경우

<!-- org.h2.Driver를 못 찾는 경우 발생 -->
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>

위 경우에는 pom.xml에 아래와 같이 되어있는지 확인한다

<scope></scope>는 dependency를 어느 시점에 적용할 것인지 설정하는 부분이다

아래에서는 test로 설정되어 테스트 컴파일  실행 단계에서만 적용되도록 되어있다

<dependencies>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>2.1.214</version>
        <scope>test</scope> <!-- 해당 라인 삭제 -->
    </dependency>
</dependencies>

 

아래와 같이 <scope>test</scope> 라고 되어있는 줄을 삭제한다

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.1.214</version>
</dependency>

댓글