2017-09-03 13 views
0

저는 Servlet, JSP, JPA, EJB를 사용하여 Java EE 애플리케이션을 개발 중입니다. Websphere 콘솔에서 데이터 소스 (Oracle 11g)를 이미 구성 했으므로 코드에서 CMP Entity bean을 사용해야하는지 또는 persistence.xml이있는 간단한 stateless Session Bean (에서 구성된 데이터 소스의 JNDI를 사용하는지 알고 싶었습니다. 였다).WAS 8.5.5 CMP/BMP 및 지속성 데이터 소스

미리 감사드립니다.

답변

1

CMP 엔티티 bean을 사용할 필요가 없습니다. JPA는 EJB Entity Bean의 대체물이며 WAS에서 구성된 데이터 소스의 JNDI를 사용하는 기본 기술이어야합니다. CMP/BMP 엔티티 bean은 이제 Java EE의 선택적 부분이며 WebSphere Liberty에서는 지원되지 않습니다 (v9.0에서도 WebSphere 전통에서 계속 지원되지만).

또한 JPA (persistence.xml)와 함께 Stateless Session Bean을 사용할 필요는 없습니다. stateless 세션은 데이터베이스 액세스를 캡슐화하고 트랜잭션 지원을 제공하는 좋은 방법이 될 수 있지만 서블릿에서 JPA를 직접 사용할 수 있습니다.

CMP 엔티티 bean과 JPA (persistence.xml)를 동시에 사용하는 것은 피해야합니다. 데이터베이스 행에 액세스 (및 잠금)를 시도하는 두 가지 기술로 끝나고 교착 상태 및/또는 손상이 발생하기를 원할 것입니다.