키 클래스 및 키 필드

키 클래스는 엔티티 Bean을 작성하거나 찾을 때 사용합니다. 관계형 데이터베이스에서 행의 1차 키 열에 해당하는 엔티티 Bean의 ID를 표시합니다. 이러한 열 중 하나에 해당하는 엔티티 Bean의 지정된 각 컨테이너 관리 필드를 키 필드라고 합니다.

1차 키 클래스를 지정하는 두 가지 방법이 있습니다.

1.1 CMP Bean의 경우 Bean 클래스의 각 키 필드마다 키 클래스에는 동일한 이름 및 유형의 필드가 있어야 합니다. 반대로 키 클래스의 각 필드마다 Bean 클래스에는 동일한 이름 및 유형의 필드가 있어야 하며 이러한 필드를 키 필드로 간주합니다. 2.x CMP Bean의 경우 각 키 필드의 get 및 set 메소드가 있어야 합니다.

예를 들어, 은행 애플리케이션의 EJB 1.1 Account Bean이 있다고 가정하십시오. accountNumber 특성이 키 필드로 지정되었으며 ACCOUNT 데이터베이스 테이블의 1차 키에 해당합니다. Account의 키 클래스(AccountKey)에는 다음과 같은 내용이 포함되어 있습니다.

AccountKey 대신 Account는 키 클래스 java.lang.String과 1차 키 필드 accountNumber를 사용할 수 있습니다.

키 클래스는 상속된 모든 엔터프라이즈 Bean에 공통됩니다. 즉, 상위 엔터프라이즈 Bean의 키 클래스를 모든 하위 엔터프라이즈 Bean에서도 사용함을 의미합니다. 따라서 하위 유형이 있는 엔티티의 키 클래스가 변경되었거나 상속 구조가 변경된 경우 모든 하위 유형 엔티티에는 재생성된 해당 홈 및 Bean 클래스가 있습니다. 동일한 상속 계층 구조의 Bean들만 키 클래스를 공유할 수 있습니다.

키의 일부분으로 역할을 담당하며 역할의 엔터프라이즈 Bean 유형의 키 모양이 변경된 경우(추가 또는 제거된 키) 모든 키 역할을 통해 이러한 변경사항을 전파하는 대화 상자가 표시됩니다. 대부분의 경우 또는 모두 예를 선택해야 합니다. 모든 키 역할을 통해 변경사항을 전파하지 않으므로 컴파일 오류가 발생할 수 있습니다.

참고: EJB 도구는 현재 EJB 2.0 스펙에 설명된 알 수 없는 1차 키 정의를 지원하지 않습니다. 임시 해결 방법으로 특정 1차 키 클래스를 정의할 수 있습니다.

피드백