persistence.xml
jpa 설정 파일
파일 경로 :클래스패스 경로의 META-INF/persistence.xml
참고 :자바 ORM 표준 JPA 프로그래밍 - 도서
log 설정 :https://thorben-janssen.com/hibernate-logging-guide/#Don8217t_use_show_sql_to_log_SQL_queries
<?xml version="1.0" encoding="UTF-8" ?>
<!-- jpa 사용 버전 표기 -->
<!-- 2.0 -->
<!-- <persistence xmlns="http://java.sun.com/xml/ns/persistence" -->
<!-- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" -->
<!-- xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" -->
<!-- version="2.0"> -->
<!-- 2,1 -->
<persistence 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_1.xsd"
version="2.1">
<persistence-unit name="jpastudy">
<description>Hibernate EntityManager Demo</description>
<!-- true - 엔티티 class 선언 필요 -->
<!-- false - 엔티티 class 자동 검색 -->
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<!-- 엔티티 class -->
<!-- <class>royleej9.study.jpa.Customer</class> -->
<!-- <class>royleej9.study.jpa.Member</class> -->
<properties>
<!-- 표준 속성 - javax.persistence 시작 -->
<property name="javax.persistence.jdbc.user" value="sa" />
<property name="javax.persistence.jdbc.password" value="" />
<property name="javax.persistence.jdbc.url"
value="jdbc:h2:mem:my_database" />
<property name="javax.persistence.jdbc.driver"
value="org.h2.Driver" />
<!-- 옵션 -->
<!-- hibernate 전용 속성 -->
<!-- db 방언 - db 고유의 기능 사용 -->
<property name="hibernate.dialect"
value="org.hibernate.dialect.H2Dialect" />
<!-- 스키마 자동 생성 -->
<!-- create : drop + create / 개발 초기 단계 / 테스트 -->
<!-- create-drop : drop + create + drop / 프로그램 종료시 삭제 / 자동화된 테스트 -->
<!-- update : 변경 사항만 수정 / 개발 초기 단계 / 테스트 서버 -->
<!-- validate : 변경 사항 발생시 경고를 남기고 실행하지 않음 / 테스트 서버 / 스테이징 또는 운영 단계 -->
<!-- none: 자동 생성기능을 사용하지 않을 때/유효하지 않은 값 입력시 / 위 4가지 옵션을 제외한 값 / 스테이징 또는
운영 단계 -->
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
<!-- sql log 출력 -->
<!-- 별도 log lib 사용시 false -->
<property name="hibernate.show_sql" value="false" />
<!-- sql log 정렬 -->
<!-- <property name="hibernate.format_sql" value="true" /> -->
<!-- 주석 log 출력 -->
<property name="hibernate.use_sql_comments" value="false" />
<!-- 기본 키 생성 전략 -->
<property name="hibernate.id.new_generator_mappings"
value="true" />
<!-- 테이블 컬럼 표시 방법 대소문자를 _ 로 변경 firstName -> first_name -->
<!-- @Column 속성을 명시적으로 사용하지 않을 때 컬럼 이름 정의 방법 -->
<!-- 5.0 아래 버전 -->
<!-- <property name="hibernate.ejb.naming_strategy" -->
<!-- value="org.hibernate.cfg.ImprovedNamingStrategy" /> -->
<!-- 5.0 이상 사용자 정의 클래스 등록 -->
<property name="hibernate.physical_naming_strategy"
value="royleej9.study.jpa.SnakeCaseNamingStrategy" />
</properties>
</persistence-unit>
</persistence>
'java' 카테고리의 다른 글
[Mockito] doReturn / thenReturn (0) | 2021.08.04 |
---|---|
[Java] Jackson - JSON 파일 읽기 - 저장 (0) | 2021.04.15 |
[Lombok] @Builder (0) | 2020.10.15 |
[JPA] 영속성 컨텍스트(persistence context) (0) | 2020.08.31 |
[JPA] EntityManagerFactory/EntityManager (0) | 2020.08.30 |