문서의 이전 판입니다!
META-INF/persistence.xml
위치 고정이다. 파일은 여러개일 수 있다. 모두 읽고 persistence-unit-name으로 구분한다.PersistenceUnitInfo
인스턴스를 생성하여 넘기는 방법만 있는 듯 하다. Spring이 이렇게 처리하는 듯.<?xml version="1.0" encoding="utf-8"?> <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"> <persistence-unit name="unitname" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <exclude-unlisted-classes>true</exclude-unlisted-classes> <mapping-file>ormap.xml</mapping-file> <!-- 필요할 경우 --> <class>org.acme.Employee</class> <class>org.acme.Person</class> <class>org.acme.Address</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" /> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.format_sql" value="true" /> <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/> <property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:db1"/> <property name="javax.persistence.jdbc.user" value="sa"/> <property name="javax.persistence.jdbc.password" value=""/> </properties> </persistence-unit> </persistence>
exclude-unlisted-classes
를 true
로 하면 <class>xx</class>
로 명시한 클래스만 엔티티로 로딩한다. false
이면 CLASSPATH에서 자동 탐색한다.