<<Entity>> 클래스

UML에서 EJB로 변환 시 <<Entity>> 스테레오타입으로 표시되는 클래스가 Bean 이름이 소스 UML 클래스의 이름과 동일한 CMP 2.x, CMP 1.1 또는 BMP 엔티티 Bean으로 변환됩니다. 생성된 엔티티 Bean의 유형은 EJB 변환 구성 창의 엔티티 탭에서 사용자가 선택하는 옵션에 해당됩니다.

변환 시 항상 엔티티 Bean에 대해 다음 Java 클래스가 생성됩니다.

 

변환 시 엔티티 탭에서 원격 인터페이스 전용을 누를 경우 다음 Java 클래스가 생성됩니다.

 

변환 시 엔티티 탭에서 로컬 인터페이스 전용을 누를 경우 다음 Java 클래스가 생성됩니다.

 

변환 시 엔티티 탭에서 로컬 및 원격 인터페이스를 누를 경우 다음 Java 클래스가 생성됩니다.

 

변환 시 소스 UML 클래스의 상위 패키지에 대해 생성되는 패키지 폴더에 모든 클래스가 생성됩니다. 패키지 없이 UML 모델을 작성할 경우, 변환 시 ejbs라고 하는 기본 패키지가 생성됩니다.

변환 시 대상 EJB 프로젝트의 소스 트리에 Bean 클래스 및 키 클래스 파일을 생성합니다.

변환 시 대상 EJB 프로젝트의 클라이언트 프로젝트 소스 트리에 네 개의 인터페이스 파일이 생성됩니다. 클라이언트 프로젝트가 없는 경우, 변환 시 대상 EJB 프로젝트에 인터페이스 파일이 생성됩니다.

변환 시 엔티티 Bean을 정의하는 데이터가 배치 설명자(ejb-jar.xml)에 추가됩니다.

일반화 관계

엔티티 Bean의 소스 UML 클래스가 <<Entity>> 스테레오타입의 다른 UML 클래스에 대해 일반화 관계(예: 확장 관계)를 가지고 있는 경우, 클래스가 나타내는 엔티티 Bean은 생성될 엔티티 Bean의 EJB 수퍼클래스가 됩니다.

두 엔티티 Bean 모두 동일 유형이어야 합니다. 따라서 두 엔티티 Bean은 모두 CMP 2.x, CMP 1.1 또는 BMP여야 합니다. 예를 들어, 수퍼 Bean이 CMP 2.x 엔티티 Bean이면 모든 하위 Bean은 CMP 2.x 엔티티 Bean이어야 합니다. 수퍼 Bean이 예상한 하위 Bean의 유형과 같지 않으면 변환 시 일반화 관계 없이 하위 Bean이 생성됩니다.

실현(realization) 관계

엔티티 Bean의 소스 UML 클래스에 인터페이스 요소와의 실현(realization) 관계(예: 구현(implements) 관계)가 있는 경우, 소스 인터페이스가 나타내는 인터페이스는 네 개의 인터페이스(원격, 홈, 로컬, 로컬 홈)로 구현됩니다.

표시되지 않은 속성 – CMP 2.x

변환 시 소스 UML 클래스의 속성이 다음 표에 나열된 특성을 갖는 엔티티 Bean의 CMP 필드로 변환됩니다.

CMP 2.x 필드 특성

CMP 필드 값

이름

UML 속성 이름

유형

속성 유형에서 판별한 유형(“유형 맵” 표 참조)

키 필드

False

Bean 구현 클래스에서 필드 생성

False

getter 및 setter 생성

True

getter 및 setter를 로컬 인터페이스로 승격

True(로컬 인터페이스가 존재할 경우)

getter 및 setter를 원격 인터페이스로 승격

True(원격 인터페이스가 존재할 경우)

IsArray

UML 속성이 유한 상위 값을 갖는 경우 True

속성 유형이 다른 CMP 2.x 엔티티 Bean의 속성 유형인 경우, 변환 시 속성이 CMP 필드로 변환되지 않지만 속성이 EJB 관계로 변환되어야 하는 연관의 일부로 간주됩니다. 그러나 속성 유형이 CMP 2.x 엔티티 Bean이 아닌 다른 엔터프라이즈 Bean의 유형일 경우, 변환 시 속성이 CMP 필드나 연관으로 변환되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.

표시되지 않은 속성 – CMP 1.1

변환 시 소스 UML 클래스의 속성이 다음 표에 나열된 특성을 갖는 엔티티 Bean의 CMP 필드로 변환됩니다.

CMP 1.1 필드 특성

CMP 필드 값

이름

UML 속성 이름

유형

속성 유형에서 판별한 유형(“유형 맵” 표 참조)

키 필드

False

Bean 구현 클래스에서 필드 생성

False

getter 및 setter 생성

True

getter 및 setter를 로컬 인터페이스로 승격

False

getter 및 setter를 원격 인터페이스로 승격

True(항상)

IsArray

UML 속성이 유한 상위 값을 갖는 경우 True

속성 유형이 다른 엔티티 Bean 또는 엔터프라이즈 Bean의 속성 유형인 경우, 변환 시 속성이 CMP 필드나 연관으로 변환되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.

표시되지 않은 속성 – BMP

변환 시 소스 UML 클래스의 속성이 다음 표에 나열된 특성을 갖는 엔티티 Bean의 BMP 필드로 변환됩니다.

BMP 필드 특성

BMP 필드 값

이름

UML 속성 이름

유형

속성 유형에서 판별한 유형(“유형 맵” 표 참조)

키 필드

False

Bean 구현 클래스에서 필드 생성

True

getter 및 setter 생성

True

getter 및 setter를 로컬 인터페이스로 승격

True(로컬 인터페이스가 존재할 경우)

getter 및 setter를 원격 인터페이스로 승격

True(원격 인터페이스가 존재할 경우)

IsArray

UML 속성이 유한 상위 값을 갖는 경우 True

속성 유형이 다른 엔티티 Bean 또는 EJB의 속성 유형인 경우, 변환 시 속성이 BMP 필드나 연관으로 변환되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.

<<Id>> 속성 – CMP 2.x 및 CMP 1.1

변환 시 소스 UML 클래스에서 <<Id>> 속성으로 표시된 속성들이 CMP 필드로 변환되지만 다음 표에 나열된 것처럼 다른 특성 값을 갖습니다. 이 CMP 필드는 1차 키를 구성하는 데 도움이 됩니다.

CMP 2.x 및 CMP 1.1 필드 특성

CMP 필드 값

이름

UML 속성 이름

유형

속성 유형에서 판별한 유형(“유형 맵” 표 참조)

키 필드

True

Bean 구현 클래스에서 필드 생성

False

getter 및 setter 생성

True

getter 및 setter를 로컬 인터페이스로 승격

False

getter 및 setter를 원격 인터페이스로 승격

False

IsArray

UML 속성이 유한 상위 값을 갖는 경우 True

속성 유형이 다른 엔티티 Bean 또는 엔터프라이즈 Bean의 속성 유형인 경우, 변환 시 속성이 CMP 키 필드나 연관으로 변환되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.

<<Id>> 속성 – BMP

변환 시 소스 UML 클래스에서 <<Id>>로 표시된 속성들이 BMP 필드로 변환되지만 다음 표에 나열된 것처럼 다른 특성 값을 갖습니다. 이 BMP 필드는 1차 키를 구성하는 데 도움이 됩니다.

BMP 필드 특성

BMP 필드 값

이름

UML 속성 이름

유형

속성 유형에서 판별한 유형(“유형 맵” 표 참조)

키 필드

True

Bean 구현 클래스에서 필드 생성

True

getter 및 setter 생성

True

getter 및 setter를 로컬 인터페이스로 승격

False

getter 및 setter를 원격 인터페이스로 승격

False

IsArray

UML 속성이 유한 상위 값을 갖는 경우 True

속성 유형이 다른 엔티티 Bean 또는 엔터프라이즈 Bean의 속성 유형인 경우, 변환 시 속성이 BMP 키 필드나 연관으로 변환되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.

CMP 및 BMP 필드 유형 맵

다음 표에 나와 있는 것처럼, 변환 시 소스 속성 유형을 기초로 하는 유형을 가지고 있는 CMP 및 BMP 필드가 생성됩니다.

UML 속성 유형

CMP/BMP 필드 유형

boolean

boolean

byte

byte

char

char

float

float

int

int

long

long

short

short

Boolean

java.lang.Boolean

Byte

java.lang.Byte

Char

java.lang.Char

Float

java.lang.Float

Integer

java.lang.Integer

Long

java.lang.Long

Short

java.lang.Short

문자열

java.lang.String

기타

완전한 이름

 

표시되지 않은 오퍼레이션

변환 시 소스 UML에 대한 표시되지 않은 오퍼레이션이 엔티티 Bean의 비즈니스 메소드로 변환됩니다. 초기에 오퍼레이션은 표시되지 않은 UML 클래스에서의 오퍼레이션과 같은 방식으로 변환됩니다. 변환된 오퍼레이션은 약간의 수정과 함께 다음 표에 나열된 클래스에 추가됩니다.

클래스

메소드 수정사항

Bean 클래스

변경사항 없음

로컬 인터페이스

인터페이스 메소드

원격 인터페이스

java.rmi.RemoteException이 발생하는 인터페이스 메소드

 

<<Query>> 오퍼레이션 – CMP 2.x

변환 시 소스 UML 클래스에 대한 <<Query>> 오퍼레이션이 두 가지 유형의 조회 메소드(찾기 메소드 및 선택 메소드) 중 하나로 변환됩니다. 선택 메소드는 CMP 2.x 엔티티 Bean에만 존재합니다.

변환 시 약간의 수정과 함께 다음 표에 나열된 클래스에서 파인더 메소드가 생성됩니다.

클래스

메소드 수정사항

로컬 홈 인터페이스

(로컬 인터페이스가 존재할 경우)

  • findXxx의 이름(“파인더 이름” 표 참조)
  • javax.ejb.FinderException 발생
  • 리턴 유형(“파인더 리턴 유형” 표 참조)

원격 홈 인터페이스

(원격 인터페이스가 존재할 경우)

  • findXxx의 이름(“파인더 이름” 표 참조)
  • javax.ejb.FinderException 발생
  • java.rmi.RemoteException 발생
  • 리턴 유형(“파인더 리턴 유형” 표 참조)

 

파인더 이름

UML 오퍼레이션 이름

파인더 메소드 이름

xxx

findXxx

findXxx

findXxx

FindXxx

findXxx

 

홈 인터페이스 파인더 리턴 유형

Java 변환의 구문 분석된 리턴 유형

파인더 메소드 리턴 유형

Collection

java.util.Collection

Set

java.util.Set

List

java.util.Collection

SortedList

java.util.Set

<소스 클래스 이름>[]

java.util.Collection

<소스 클래스 이름> 또는 “void”

  • 로컬 인터페이스 이름
  • 원격 인터페이스 이름

<사용자 정의 유형 이름>[]

java.util.Collection

<소스가 아닌 클래스 이름(예: String, Integer 등)>[]

java.util.Collection

<사용자 정의 유형 이름>

파인더 메소드 대신 선택 메소드 생성

<소스가 아닌 클래스 이름(예: String, Integer 등)>

파인더 메소드 대신 선택 메소드 생성

 

EJB 변환은 생성되는 파인더 메소드마다 배치 설명자에 조회를 수동으로 추가해야 함을 표시하는 타스크를 작성합니다.

변환 시 오퍼레이션에 대한 가시성이 개인용이거나 리턴 유형이 소스 UML 클래스의 이름과 다르고 엔티티 Bean 유형이 CMP 2.x인 경우 조회 오퍼레이션이 선택 메소드로 변환됩니다.

오퍼레이션 가시성

리턴 유형

메소드 유형

개인용

소스 클래스 이름과 동일

선택 메소드

개인용이 아님

소스 클래스 이름과 동일

찾기 메소드

개인용

소스 클래스 이름이 아님

선택 메소드

개인용이 아님

소스 클래스 이름이 아님

선택 메소드

 

변환 시 다음과 같이 수정되어 Bean 클래스에 선택 메소드가 생성됩니다.

 

선택 이름

UML 오퍼레이션 이름

선택  메소드 이름

xxx

ejbSelectXxx

selectXxx

ejbSelectXxx

SelectXxx

ejbSelectXxx

ejbSelectXxx

ejbSelectXxx

 

선택 리턴 유형

Java 변환의 구문 분석된 리턴 유형

선택 메소드 리턴 유형

Collection

java.util.Collection

Set

java.util.Set

List

java.util.Collection

SortedList

java.util.Set

<소스 클래스 이름>[]

java.util.Collection

<소스 클래스 이름> 또는 “void”

로컬 인터페이스 이름

<사용자 정의 유형 이름>[]

java.util.Collection

<소스가 아닌 클래스 이름(예: String, Integer 등)>[]

java.util.Collection

<사용자 정의 유형 이름>

사용자 정의 유형 이름

<소스가 아닌 클래스 이름(예: String, Integer 등)>

소스가 아닌 클래스 이름

EJB 변환은 생성되는 선택 메소드마다 배치 설명자에 조회를 수동으로 추가해야 함을 표시하는 타스크를 작성합니다.

<<Query>> 오퍼레이션 – CMP 1.1

변환 시 소스 UML 클래스에 대한 <<Query>> 오퍼레이션이 한 가지 유형의 조회 메소드(파인더 메소드) 중 하나로 변환됩니다. CMP 1.1 엔티티 Bean은 선택 메소드를 지원하지 않습니다. 이 엔티티 Bean은 CMP 2.x 엔티티 Bean에 대해서만 사용 가능합니다. 따라서 <<Query>> 오퍼레이션의 리턴 유형과 가시성에 관계없이 변환은 항상 엔티티 Bean의 원격 홈 인터페이스에서 파인더 메소드를 생성합니다.

다음 표에 나와 있는 것처럼, 변환 시 약간의 수정과 함께 항상 원격 홈 인터페이스에서 파인더 메소드가 생성됩니다.

클래스

메소드 수정사항

원격 홈 인터페이스

  • findXxx의 이름(“원격 홈 인터페이스 파인더 이름” 표 참조)
  • javax.ejb.FinderException 발생
  • java.rmi.RemoteException 발생
  • 리턴 유형(“원격 홈 인터페이스 파인더 리턴 유형” 표 참조)

 

원격 홈 인터페이스 파인더 이름

UML 오퍼레이션 이름

파인더 메소드 이름

xxx

findXxx

findXxx

findXxx

FindXxx

findXxx

 

원격 홈 인터페이스 파인더 리턴 유형

Java 변환의 구문 분석된 리턴 유형

파인더 메소드 리턴 유형

Collection

java.util.Collection

Set

java.util.Set

List

java.util.Collection

SortedList

java.util.Set

<소스 클래스 이름>[]

java.util.Collection

<소스 클래스 이름> 또는 “void”

원격 인터페이스 이름

<사용자 정의 유형 이름>[]

java.util.Collection

<소스가 아닌 클래스 이름(예: String, Integer 등)>[]

java.util.Collection

<사용자 정의 유형 이름>

원격 인터페이스 이름

<소스가 아닌 클래스 이름(예: String, Integer 등)>

원격 인터페이스 이름

EJB 변환은 생성되는 파인더 메소드마다 배치 설명자에 조회를 수동으로 추가해야 함을 표시하는 타스크를 작성합니다.

<<Query>> 오퍼레이션 – BMP

변환 시 소스 UML 클래스에 대한 <<Query>> 오퍼레이션이 한 가지 유형의 조회 메소드(파인더 메소드) 중 하나로 변환됩니다. 모든 버전의 BMP 엔티티 Bean은 선택 메소드를 지원하지 않습니다. 이 엔티티 Bean은 CMP 2.x 엔티티 Bean에 대해서만 사용 가능합니다. 따라서 <<Query>> 오퍼레이션의 리턴 유형과 가시성에 관계없이 변환은 항상 Bean 구현 클래스에서 파인더 메소드를 생성합니다. 그런 다음 엔티티 Bean의 기존 인터페이스에서 파인더 메소드를 생성합니다.

다음 표에 나와 있는 것처럼, 변환 시 약간의 수정과 함께 다음 클래스에서 파인더 메소드가 생성됩니다.

클래스

메소드 수정사항

로컬 홈 인터페이스
(로컬 인터페이스가 존재할 경우)

  • findXxx의 이름(“(로컬) 원격 홈 파인더 이름” 표 참조)
  • javax.ejb.FinderException 발생
  • 리턴 유형(“(로컬) 원격 인터페이스 파인더 리턴 유형” 표 참조)

원격 홈 인터페이스

(원격 인터페이스가 존재할 경우)

  • findXxx의 이름(“(로컬) 원격 홈 파인더 이름” 표 참조)
  • javax.ejb.FinderException 발생
  • java.rmi.RemoteException 발생
  • 리턴 유형(“(로컬) 원격 인터페이스 파인더 리턴 유형” 표 참조)

Bean 구현 클래스

  • ejbFindXxx의 이름(Bean 클래스 파인더 이름 표 참조)
  • javax.ejb.FinderException 발생
  • 리턴 유형(“Bean 클래스 파인더 리턴 유형” 표 참조)

 

(로컬) 원격 홈 파인더 이름

UML 오퍼레이션 이름

파인더 메소드 이름

xxx

findXxx

findXxx

findXxx

FindXxx

findXxx

ejbFindXxx

findEjbFindXxx

EjbFindXxx

findEjbFindXxx

 

Bean 클래스 파인더 이름

UML 오퍼레이션 이름

파인더 메소드 이름

xxx

ejbFindXxx

findXxx

ejbFindXxx

FindXxx

ejbFindXxx

ejbFindXxx

ejbFindEjbFindXxx

EjbFindXxx

ejbFindEjbFindXxx

 

홈 인터페이스 파인더 리턴 유형

Java 변환의 구문 분석된 리턴 유형

파인더 메소드 리턴 유형

Collection

java.util.Collection

Set

java.util.Set

List

java.util.Collection

SortedList

java.util.Set

<소스 클래스 이름>[]

java.util.Collection

<소스 클래스 이름> 또는 “void”

  • 로컬 인터페이스 이름
  • 원격 인터페이스 이름

<사용자 정의 유형 이름>[]

java.util.Collection

<소스가 아닌 클래스 이름(예: String, Integer 등)>[]

java.util.Collection

<사용자 정의 유형 이름>

  • 로컬 인터페이스 이름
  • 원격 인터페이스 이름

<소스가 아닌 클래스 이름(예: String, Integer 등)>

  • 로컬 인터페이스 이름
  • 원격 인터페이스 이름

 

Bean 클래스 파인더 리턴 유형

Java 변환의 구문 분석된 리턴 유형

파인더 메소드 리턴 유형

Collection

java.util.Collection

Set

java.util.Set

List

java.util.Collection

SortedList

java.util.Set

<클래스 이름>[]

java.util.Collection

<클래스 이름> 또는“void”

키 클래스 이름

 

내부 클래스

무시합니다.

내부 인터페이스

무시합니다.

이용약관 | 피드백
(C) Copyright IBM Corporation 2004.
All Rights Reserved.