본 장에서는 JEUS의 기본 프로바이더를 변경하는 방법에 대해서 설명한다.
JEUS에서 기본적으로 제공되는 프로바이더가 아닌 다른 프로바이더를 사용하려면 JPA 스펙에서 제공하는 설정을 사용한다.
먼저 필요한 라이브러리들을 JEUS_HOME/lib/application에 복사하거나 또는 각 애플리케이션별로 패키징한다. 그리고 해당 프로바이더 클래스 이름을 persistence.xml의 <provider> 값에 설정하면, Persistence Unit별로 설정한 프로바이더를 사용한다.
프로바이더 클래스 이름과 관련 프로퍼티 값들도 각 프로바이더별로 다르므로 해당 문서를 참고하여 설정해야 한다. 예를 들어, Hibernate를 사용하는 경우 다음과 같이 설정한다.
[예 3.1] Persistence 프로바이더 변경 예
<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence"> <persistence-unit name="em"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>jdbc/MyDB</jta-data-source> <properties> <!-- add Hibernate properties here --> </properties> </persistence-unit> </persistence>
위와 같이 Persistence Unit별로 프로바이더를 변경할 수도 있지만, JEUS의 디폴트 프로바이더를 변경할 수 있다. JEUS를 구동시킬 때 시스템 프로퍼티 jeus.persistence.defaultProvider를 해당 프로바이더 클래스 이름으로 설정하면 프로바이더가 지정되지 않는 모든 Persistence Unit의 경우 해당 디폴트 프로바이더를 사용하게 된다.
JEUS 시스템 프로퍼티 설정은 "JEUS Server 안내서"나 "JEUS Reference Book"을 참고한다.
다른 Persistence 프로바이더에 대해서는 다음의 각 사이트를 참고한다.
Hibernate EntityManager
http://www.hibernate.org
OpenJPA
http://openjpa.apache.org
BEA Kodo
http://docs.oracle.com/cd/E13189_01/kodo/docs40/index.html