본문 바로가기

EJB 32

EJB3의 Entity Access Object 패턴 세션빈의 비즈니스 로직에서 EntityManager API를 직접적으로 사용하는 방법은 비즈니스 로직 내에 엔티티 접근 코드를 산재하게 한다는 문제가 발생되는데, 이는 유지보수 측면에서 고역이다. Entity Access Object (EAO) 패턴은 비즈니스 로직에서 엔티티 접근 로직을 결합력을 적게 하며 코드 유지보수를 향상시킨다. 이는 비즈니스 로직에 영향을 주지 않고 내부의 엔티티 접근 코드를 쉽게 변경 가능하게 해준다. 만일 어플리케이션에서 EAO 패턴을 도입하면, JDBC나 EJB2 CMP, 혹은 다른 저장 메커니즘에서 JPA로 저장 티어 메커니즘 변경을 훨씬 쉽게 해준다. 선의 blueprint 웹 사이트에서 데이터 접근 객체에 대해서 더 자세하게 배울 수 있다. DAO의 내용에서 DAO를 .. 2008. 2. 22.
Hibernate3 사용시 Join 테이블에 FK 이외의 컬럼이 있는 경우 매핑 ORM을 사용하다 보면 항상 겪는 문제지만, 다대다(many-to-many) 관계를 객체와 어떻게 매핑할 것인가이다. 물론, 객체 입장에서는 두 객체간의 Collection 문제지만, DB 입장에서는 항상 Join 테이블이 끼어 있어서 이를 해결하기간 웬만해서는 쉽지 않다. Hibernate3는 EJB3의 JPA(Java Persistence API)의 구현체로 이에 대한 문제를 다음과 같이 해결하고 있다. 위의 그림과 같이 Category에 Item을 추가할 때마다 어떤 정보가 필요하다고 가정하자. 위의 구조를 자바 클래스에 매핑하는 데에 두가지 방법이 있다. 첫번째 방법은 join 테이블에 대한 중간의 entity 클래스를 사용하여 일대다(one-to-many) 관계로 매핑하는 것이다. 두번째 방법은.. 2008. 2. 13.
반응형