진입 점으로 main()
클래스를 가진 독립형 클라이언트 응용 프로그램에서 JPA를 완벽하게 사용할 수 있습니다. buildpath/classpath에 JPA JAR (s)을 추가하고 RESOURCE_LOCAL
트랜잭션 유형을 사용하도록 persistence.xml
을 구성하기 만하면됩니다. 킥오프 예제는 EclipseLink Wiki - Running JPA Outside Container에서 찾을 수 있습니다. 여기에 관련성의 추출물이다 :
<persistence-unit name="LocalPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="javax.persistence.jdbc.user" value="scott"/>
<property name="javax.persistence.jdbc.password" value="tiger"/>
</properties>
</persistence-unit>
당신은 웹 프로젝트의 모듈로 클라이언트 프로젝트를 추가하여 웹 프로젝트에서 JPA 모델과 최종 DAO를 사용하여 클라이언트 프로젝트를 다시 사용할 수 있습니다. Eclipse의 경우 예를 들어 클라이언트 프로젝트를 Java 빌드 경로> 프로젝트> 추가 배치 어셈블리을 사용하여 클라이언트 프로젝트를 /WEB-INF/lib
의 JAR로 끝내도록 웹 프로젝트의 빌드 경로에 추가하면됩니다.
마지막으로 웹 프로젝트에서 클라이언트 프로젝트의 JAR 파일을 가리키고 트랜잭션 유형을 무시하는 또 다른 persistence.xml
을 가질 수 있습니다.
<persistence-unit name="WebPersistenceUnit" transaction-type="JTA">
<jta-data-source>jdbc/DataSourceName</jta-data-source>
<jar-file>lib/JavaProject.jar</jar-file>
</persistence-unit>
당신이 persistence.xml
에서 모델 클래스를 반복 할 필요가 없습니다 이쪽으로.
안녕 BalusC. 고맙습니다. 나는 그것을 시도 할 것이다. 하나의 작은 질문, 내 개발 환경에서, 내 프로젝트에 대한 이클립스 3.2를 사용해야합니다, 당신은 Eclipse 3.2에서 Java EE 프로젝트를 만드는 방법을 알고 있습니까? –
* 새로 만들기> 동적 웹 프로젝트 *. "Java EE 용 Eclipse"버전을 사용하고 있는지 확인하십시오. * Deployment Assembly *는 3.5 이전의 버전에서 * Java EE Module Dependencies *라고합니다. 가능한 경우 최신 버전으로 업그레이드하십시오. 그것은 무료입니다. – BalusC
BalusC에 감사드립니다. –