Maven에서 JPA 사용하기위한 설정

seongmin0302·2025년 1월 15일

2024 동계 인턴십

목록 보기
6/33

엔티티 클래스를 만들기 위해서 @Entity, @Getter 어노테이션을 추가했지만 에러가 발생 하였다.

아래 블로그를 통해서 Maven에서 JPA를 사용하기 위한 설정을 진행하였다.

pom.xml파일에 아래 코드를 추가하였다.

        <!-- 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>

        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>

아래와 같이 META-INF 폴더 아래 persistence.xml파일을 만들어 코드를 작성해 주었다.

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="h2">
        <properties>
            <!-- JDBC 필수정보 -->
            <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
            <property name="javax.persistence.jdbc.user" value="sa"/>
            <property name="javax.persistence.jdbc.password" value=""/>
            <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/> <!-- H2 방언을 사용함을 명시 -->

            <!-- 추가 옵션정보 -->
            <property name="hibernate.show_sql" value="true"/> <!--SQL 쿼리문을 출력한다.-->
            <property name="hibernate.format_sql" value="true"/> <!--쿼리문을 포맷팅하여 보여준다.-->
            <property name="hibernate.use_sql_comments" value="true"/> <!--쿼리문 관련 정보를 주석으로 보여준다.-->
            <property name="hibernate.hbm2ddl.auto" value="create" /> <!--하이버네이트에서 DDL을 조작한다 -->
        </properties>
    </persistence-unit>
</persistence>

그결과 @Entity, @Getter의 import가 정상적으로 되었고 에러도 사라졌다.

profile
컴튜터공학과 재학중

0개의 댓글