2012-07-23 4 views
0

WebSphere Application Server에서 OpenJPA를 사용합니다. 내 WebApplication은 EJB가없는 JSF 2를 사용합니다.JSF에서 OpenJPA EntityManagerFactory를 사용하는 방법

JSF에서 JPA를 사용하는 가장 좋은 방법이 있는지 알고 싶었습니다.

EntityManagerFactory (EMF)가 응용 프로그램 범위에 있어야 함을 발견했습니다. 또한 응용 프로그램이 중지되면 EMF가 (만) 파괴되어야합니다.

하지만 내 소스가 최신되지 않습니다

Java Notepad: JPA EMF in web applications

2007 년부터 2010 년

How to close a JPA EntityManger in web applications 년부터 2007 년

Best way to use JPA in web-tier에서이 다른 관행이나 JSF에 JPA를 처리하는 더 나은 방법이 있습니까 ? 특히 EMF와 DAO의 범위.

안부, Veote

+0

스프링 또는 CDI와 같은 프레임 워크를 사용합니까? –

+0

아니요, 그런 프레임 워크를 사용하지 마십시오. – veote

답변

1

, init() 방법에서 EMF를 생성 destroy() 방법을 닫고 ThreadLocal<EntityManager>로 설정하세요 EntityManagerdoFilter() 메소드를 만드는 간단한 servlet filter 만들기. 거기서 트랜잭션을 시작하고 끝낼 수도 있습니다.

"보기의 열린 세션"또는 "보기의 열린 엔터티 관리자"패턴이라고도합니다.

+0

대단히 감사합니다! – veote

관련 문제