TIL - persistence.xml

장숭혁·2023년 11월 13일
0

TIL작성

목록 보기
16/60

persistence.xml에 대해서 알아보자

<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="memo">
        <class>com.sparta.entity.Memo</class>
        <properties>
            <property name="jakarta.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
            <property name="jakarta.persistence.jdbc.user" value="root"/>
            <property name="jakarta.persistence.jdbc.password" value="{비밀번호}"/>
            <property name="jakarta.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/memo"/>

            <property name="hibernate.hbm2ddl.auto" value="create" />

            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hibernate.use_sql_comments" value="true"/>
        </properties>
    </persistence-unit>
</persistence> 

이 xml 파일은 데이터 베이스와의 연결, 엔티티 매핑, hibernate를 통한 테이블생성 설정을 담고 있다.
persistence - unit name = "memo"라는 이름의 persistence unit을 정의함
class: 'com.sparta.entity.Memo' 클래스를 JPA 엔티티로 등록하는 설정이다. 이 클래스는 데이터 베이스의 특정 테이블과 매핑될 것이다.
properties: 데이터 베이스 연결과 관련된 속성들을 정의한다.

<property name="jakarta.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
           <property name="jakarta.persistence.jdbc.user" value="root"/>
           <property name="jakarta.persistence.jdbc.password" value="{비밀번호}"/>
           <property name="jakarta.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/memo"/>
  • 위부터 순서대로 데이터 베이스 드라이버, 사용자 이름, 비밀번호 , 연결 url을 설정한다.

    hibernate.hbm2ddl.auto
    Hibernate의 DDL(Data Definition language) 자동 생성 동작을 설정한다. create으로 설정되어있다. 애플리케이션이 시작될때 테이블을 생성한다는 의미이다.

    hibernate.show_sql, hibernate.format_sql, hibernate.use_sql_comments

    Hibernate가 실행하는 sql 쿼리를 로그로 출력하고 , 읽기 쉽게 형식화하며, sql코멘트를 사용할지에 대한 설정이다.

    ⬛️ 이 xml파일은 JPA persistence unit을 설정하고, 데이터 베이스와의 연결 및 hibernate 동작을 정의하는데 사용된다.

    이 xml파일과 gradle의 차이는 gradle은 빌드 도구이고, xml파일은 JPA설정을 정의하는 데 사용된다. JPA 설정을 위한 구성 파일이다.
    gradle은 빌드 도구이고, 프로젝트를 빌드 관리하기 위한 스크립트 기반 도구이다. 프로젝트 종속성 관리, 빌드 과정, 테스트 실행 , 배포등을 관리하는데 사용된다. JPA 설정을 위해 gradle을 사용하진 않지만 gradle에서 필요한 라이브러리와 의존성을 관리한다.

profile
코딩 기록

1개의 댓글

comment-user-thumbnail
2023년 11월 13일

훌륭한 글 감사드립니다.

답글 달기

관련 채용 정보