Java Persistence API: XML Schemas

persistence.xml 파일을 클래스패스의 META-INF 폴더 안에서만 찾는다.META-INF/persistence.xml을 읽어와야 EntityManagerFactory를 만들 수 있음xmlns 루트 구조<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="<http://xmlns.jcp.org/xml/ns/persistence>" version="2.2">
...
</persistence>

persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="<http://xmlns.jcp.org/xml/ns/persistence>" version="2.2">
<!-- 설명. 엔티티 매니저 팩토리 식별하기 위한 이름 설정 -->
**<persistence-unit name="jpatest">**
<!-- 설명. 엔티티 설정에 추가 -->
**<class>**com.haenin.section02.crud.Menu
**</class>
<properties>**
<!-- 설명. 데이터베이스 연결 정보 -->
<property name="jakarta.persistence.jdbc.driver"
value="com.mysql.cj.jdbc.Driver"/>
<property name="jakarta.persistence.jdbc.url"
value="jdbc:mysql://localhost:3306?menudb"/>
<property name="jakarta.persistence.jdbc.user"
value="root"/>
<property name="jakarta.persistence.jdbc.password"
value="mariadb"/>
<!-- 설명. hibernate 설정(실행되는 sql구문을 format형태로 보여주기) -->
<property name="hibernate.show_sql"
value="true"/>
<property name="hibernate.format_sql"
value="true"/>
<property name="hibernate.dialect"
value="org.hibernate.dialect.MariaDBDialect"/>
<!-- auto ddl -->
<property name="hibernate.hbm2ddl.auto" value="create"/>
</properties>
**</properties>**
**</persistence-unit>**
</persistence>

hibernate.show_sql → Hibernate가 실행하는 SQL 쿼리를 콘솔에 출력해주는 설정hibernate.format_sql → SQL을 콘솔에 찍을 때 가독성 있게 줄바꿈/들여쓰기 해주는 설정hibernate.dialect → Hibernate가 사용할 DB 방언(Dialect) 지정
<property name="hibernate.hbm2ddl.auto" value="create"/>