CMP : CMP는 퍼시스턴스를 EJB컨테이너가 자동으로 관리하는 엔티티 빈을 말한다. 이것은 퍼시스턴스에 대한 책임은 EJB컨테이너가 맡고 비지니스 로직에 대한 책임은 개발자가 전담하는 것이다. CMP에서는 EJB컨테이너의 능력이 아주 중요하다. 빈 인스턴스가 어떻게 데이터베이스와  대응되는지 알아야 하고 그로부터 데이터베이스에 데이터를 추가, 변경, 삭제 하는 것을  자동 관리하는 역할도 해야 하기 때문이다.

BMP : CMP와 달리 개발자가 직접 퍼시스턴스와 관련된 로직을 명시적으로 코딩해야 한다.

- BMP와 CMP를 언제 어떻게 사용하는지??

 CMP방식의 엔티티빈

 - 재사용성, 개발효율성, 스키마 변화에 대한 적응성

 BMP방식의 엔티티빈

 - 성능, 엔티티빈 행동 모니터링


- BMP 엔티티빈에서 가장 먼저 만들어야 할 메소드는??

홈 인터페이스에서 정의된 create메소드와 find메소드에 1:1로 대응되는 ejbCreate메소드와  ejbFind메소드이다.

ejbCreate 메소드는 데이터베이스에 엔티티 상태를 삽입하고, 빈 인스턴스 속성을 초기화하고, 프라이머리 키를 반환하는 과정을 처리한다.


ejbCreate메소드는 반드시 public 메소드이어야 하며, 전달되는 인자가 마샬링될 수 있어야 하고 메소드 지정자가 final이나 static으로 올 수 없다.


ejbLoad메소드와 ejbStore메소드는 엔티티빈의 인스턴스 속성값과 데이터베이스에 저장된 값의 동기화를 맞출 때 사용되는 메소드


EJB컨테이너는 동기화를 맞춰야 할 경우 ejbLoad와 ejbStore메소드를 호출하게 된다. 이 두 개의 메소드는 클라이언트에서 호출할 수는 없고, EJB가 호출하는 메소드이다.


ejbLoad메소드는 데이터베이스로부터 값을 읽어와 엔티티 빈의 상태 값을 재설정하기 위한 메소드이고, ejbStore는 반대로 데이터베이스에 엔티티 빈의 상태 값을 저장하는 메소드이다.


메소드는 빈 클래스에서 ejbCreate 메소드와 1:1로 대응된다.

매칭되는 ejbCreate메소드는 인자의 형식과 수가 같아야 한다.


find메소드는 find로 시작. find메소드도 create메소드와 같이 빈클래스에서 ejbFind로 시작하는 메소드와 1:1로 대응되어야 한다.

Posted by 토마도이
 TAG , ,

댓글을 달아 주세요


공지사항

블로그 이미지
도쿄에서 살고 있는 IT엔지니어의 요모조모 관심거리 끄적임. "일&맛난음식&오와라이" 너무너무 좋아해요♡
토마도이
Yesterday39
Today13
Total538,228
Statistics Graph
free counters

달력

 « |  » 2019.4
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

최근에 달린 댓글

글 보관함