CMP 필드 추가 및 제거

CMP(Container-Managed Persistence) 필드 또는 속성은 컨테이너가 지속성 관리를 처리해야 하는 Bean 클래스의 변수를 정의합니다. Java™ EE 도구를 사용하여 EJB 배치 디스크립터 편집기로 CMP 필드를 추가할 수 있습니다.

이 태스크 정보

처음 CMP 엔티티 Bean을 작성하면 Bean에 지속성 필드 또는 속성을 추가하는 옵션이 있습니다.

그러나 나중에 CMP 필드를 엔티티 Bean에 추가하고 키 필드로 정의할 경우 EJB 배치 디스크립터 편집기를 사용할 수 있습니다. 예를 들어, Customer라는 CMP 엔티티 Bean을 작성한 경우 나중에 엔티티 Bean에 CMP 필드 이메일을 추가할 수 있습니다. EJB 배치 디스크립터 편집기의 Bean 페이지를 사용하여 CMP 필드를 추가하고 제거하십시오.

참고: 하나 이상의 CMP Bean들 사이에 관계가 있는 경우 CMP Bean의 키 모양이 변경되면 관련 CMP Bean이 재생성됩니다.

프로시저

  1. Java EE 퍼스펙티브의 엔터프라이즈 탐색기 보기에서 EJB 프로젝트의 배치 디스크립터를 마우스 오른쪽 단추로 클릭하고 연결 프로그램 > 배치 디스크립터 편집기를 선택하십시오.
  2. 편집기의 Bean 페이지에서 작업할 CMP 엔티티 Bean을 선택하십시오.
  3. CMP 필드 섹션 옆의 추가 단추를 클릭하십시오. CMP 필드 대화 상자가 열리며 현재 CMP 필드가 나열됩니다.
    참고: 엔터프라이즈 Bean이 2진(빨간색)인 경우 이 Bean의 CMP 필드를 추가할 수 없습니다.
  4. 추가를 클릭하십시오.
  5. 이름 필드에 CMP 필드의 이름을 지정하면 엔티티 Bean 클래스의 이름이 고유해집니다.
  6. 유형 필드에 유형의 이름을 입력하거나 드롭 다운 목록에서 유형을 선택하여 CMP 필드의 유형을 지정하십시오. 드롭 다운에는 Java 기본 유형을 포함한 유형 목록이 있습니다. 찾아보기를 클릭하여 EJB 프로젝트의 클래스 경로에 있는 기타 유형을 선택할 수도 있습니다. 목록에 있는 유형의 클래스 이름을 입력하는 경우 완전한 이름이 표시됩니다.
  7. CMP 필드를 배열로 지정하려면 배열 선택란을 선택하고 배열의 차원 수를 지정하십시오.
  8. CMP 필드를 키 필드로 정의하려면 키 필드 선택란을 선택하십시오. 하위 Bean인 경우에는 옵션이 아닙니다. 키 필드는 CMP Bean의 필수사항입니다. CMP 키 필드가 Bean 및 키 클래스에 모두 추가됩니다. 홈 인터페이스의 create 메소드가 수정되어 이 새 유형이 포함됩니다.
  9. EJB 1.1 Bean의 경우 다음의 옵션을 사용할 수 있습니다.
    • CMP 필드의 값을 검색 및 설정하는 메소드를 생성하려면 Getter 및 Setter 메소드를 사용한 액세스 선택란을 선택하십시오.
    • 이와 같이 생성된 메소드를 원격 인터페이스로 승격하려면 Getter 및 Setter 메소드를 원격 인터페이스로 승격을 선택하십시오. 이 옵션은 Getter 및 Setter 메소드를 사용한 액세스를 선택한 경우에만 사용할 수 있습니다.
    • Getter 메소드를 읽기 전용으로 지정하려면 Getter를 읽기 전용으로 지정을 선택하십시오. 이 경우 Getter 메소드가 CMP 엔티티 Bean의 CMP 필드를 업데이트하지 않음을 WebSphere® Application Server 컨테이너에 알립니다. Getter 메소드가 호출된 후 컨테이너는 Bean 데이터를 다시 데이터베이스에 쓰지 않으므로 성능이 향상될 수 있습니다. 이 옵션은 Getter 및 Setter 메소드를 원격 인터페이스로 승격을 선택한 경우에만 사용할 수 있습니다.
      팁: Getter를 읽기 전용으로 지정 옵션을 선택하는 경우 Workbench는 새로 작성된 CMP 속성의 EJB 1.x 읽기 액세스 목적에 항목을 자동으로 추가합니다. EJB 배치 디스크립터 편집기의 액세스 페이지로 이동하여 엔티티 1.x의 액세스 목적 섹션을 참조하면 이 항목을 찾을 수 있습니다. EJB 1.x 읽기 액세스 수정에 대한 자세한 내용은 엔티티 1.x Bean의 액세스 목적 추가를 참조하십시오.
  10. EJB 2.x Bean의 경우 키 필드를 작성하지 않으면 다음의 옵션을 사용할 수 있습니다.
    • Getter 및 Setter 메소드를 원격 인터페이스로 승격
    • Getter 및 Setter 메소드를 로컬 인터페이스로 승격
  11. 적용을 클릭하고 추가 CMP 필드에 대해 4 - 11 단계를 반복하고 닫기를 클릭하십시오.
  12. 완료를 클릭하십시오. 새 CMP 필드가 Bean 정의에 추가됩니다.

결과

참고: CMP 필드를 제거하려면 EJB 배치 디스크립터 편집기의 Bean 페이지에서 필드를 선택하고 제거 단추를 클릭하십시오.

피드백