추가할 관계 역할에는 다음의 특성이 있어야 합니다.
또한 키가 추가되는 엔터프라이즈 Bean은 루트 Bean이어야 합니다(상위 유형에서 상속되지 않음). 상속된 Bean은 상위 유형의 1차 키 클래스를 사용해야 하므로 키 클래스 모양을 수정할 수 없습니다.
다음 태스크에서는 두 개의 엔터프라이즈 Bean을 참조합니다. 역할이 포함된 Bean(이 Bean)과 역할에 표시된 Bean(다른 Bean)입니다.
이 조치는 이 Bean의 키 클래스 및 Bean 클래스에 모두 다른 Bean의 키 필드를 추가합니다. 1차 키에 역할이 추가되면 연관도 재생성됩니다.
연관에서 Bean을 제거할 때 주의하십시오. Bean 중 하나의 키에 역할 중 하나를 추가한 경우 키에 역할이 있는 Bean을 다른 Bean보다 먼저 제거해야 합니다. 이 경우 데이터베이스 제한조건이 적용될 수 있습니다(역할이 키의 일부분이 아닌 경우에도). 그러나 데이터베이스 제한조건이 없으면 문제가 계속 발생할 수 있습니다. 예를 들어, 주소 Bean의 고객 역할이 외부 키를 보유하며 고객 역할이 주소 Bean의 1차 키인 1:1 연관에 고객 및 주소 Bean이 있다고 가정하십시오. 먼저 주소 Bean을 제거하지 않고 고객 Bean을 제거할 경우 주소 Bean의 고객 역할 외부 키를 널(null)로 설정하려고 시도하면 연관 유지보수 코드도 주소 Bean의 1차 키를 널(null)로 설정하려고 시도합니다.