세션 Facade 및 SDO의 어노테이션에서 @ws.sdo 및 @ws.sbf 태그 세트에 대한 참조 정보를 확인하십시오.
이 시나리오에는 경매 애플리케이션 데이터의 지속성을 관리하는 CMP 엔티티 Bean이 포함된 EJB 프로젝트가 있습니다. 예를 들어, CMP 엔티티 Bean은 사용자 계정의 등록, 지불 계정 처리, 입찰 및 판매 품목 관리를 처리합니다. 프로젝트에는 Registration이라는 EJB 2.1 CMP 엔티티 Bean이 있습니다.
사용자 및 지불 계정을 관리하기 위해 Registration CMP 엔티티 Bean의 세션 Bean Facade 및 SDO를 작성하려고 합니다. 세션 Bean Facade 작성 마법사를 사용하여 Facade 및 SDO를 신속하게 작성할 수 있습니다.



RegistrationFacade 세션 Bean에는 EJB 클라이언트 JAR 프로젝트에서 생성되는 원격 및 로컬 클라이언트 보기가 모두 포함됩니다.

/**
* @ws.sbf.session-facade
* name="RegistrationFacade"
* value-objects="Registration"
* @ws.sdo.value-object
* name="Registration"
* read-only="false"
* Bean implementation class for Enterprise Bean: Registration
*/
public abstract class RegistrationBean implements javax.ejb.EntityBean {
/**
* @ws.sdo.value-object
* match="Registration"
* Get accessor for persistent attribute: email
*/
public abstract java.lang.String getEmail();
/**
* @ws.sdo.value-object
* match="Registration"
* target-value-object="Address"
* contained="false"
* This method was generated for supporting the relationship role named fk_shipaddress.
* It will be deleted/edited when the relationship is deleted/edited.
*/
public abstract sample.AddressLocal getFk_shipaddress();
/**
* @ws.sdo.value-object
* name="Accountspayable"
* read-only="false"
* Bean implementation class for Enterprise Bean: Accountspayable
*/
/**
* @ws.sbf.session-facade
* name="RegistrationFacade1"
* value-objects="Registration"
* @ws.sdo.value-object
* name="Registration"
* read-only="false"
* Bean implementation class for Enterprise Bean: Registration
*/
변경사항을 저장한 후 Workbench는 변경된
어노테이션에 따라 새 RegistrationFacade1 세션 Bean을 다시 빌드합니다.


/**
* @ws.sbf.session-facade
* name="RegistrationFacade1"
* value-objects="Registration"
* queries="FindRegistrationByEmail"
* @ws.sdo.value-object
* name="Registration"
* read-only="false"
* @ws.sbf.query
* name="FindRegistrationByEmail"
* query="[select {$Registration} as r where r.email = 1]"
* Bean implementation class for Enterprise Bean: Registration
*/
변경사항을 저장한 후 Workbench는 새 조회를
사용하여 변경된 어노테이션에 따라 RegistrationFacade1 세션 Bean을
다시 빌드합니다. 이제 RegistrationFacade1에는 다음과 같은
두 개의 새 메소드가 있습니다.
/**
* @ws.sbf.session-facade
* name="RegistrationFacade1"
* value-objects="Registration RegistrationLite"
* queries="FindRegistrationByEmail"
* @ws.sdo.value-object
* name="Registration"
* read-only="false"
* @ws.sdo.value-object
* name="RegistrationLite"
* read-only="false"
* @ws.sbf.query
* name="FindRegistrationByEmail"
* query="[select {$Registration} as r where r.email = 1]"
* Bean implementation class for Enterprise Bean: Registration
*/
/**
* @ws.sdo.value-object
* match="Registration"
* @ws.sdo.value-object
* match="RegistrationLite"
* Get accessor for persistent attribute: userid
*/
public abstract java.lang.Integer getUserid();
/**
* @ws.sdo.value-object
* match="Registration"
* @ws.sdo.value-object
* match="RegistrationLite"
* Get accessor for persistent attribute: email
*/
public abstract java.lang.String getEmail();
RegistrationLite
SDO가 읽기 전용으로 정의되지 않았으며 userid 및
email 속성만 SDO에 포함되었으므로 필수 필드가 SDO의
일부분이 아니라는 유효성 검증 경고가 편집기에
표시됩니다. 키 및 필수 속성이 SDO의 일부분이 아닌 경우
"create"가 실패하므로 경고가 표시됩니다. /**
* @ws.sbf.session-facade
* match="RegistrationFacade1"
* value-objects="Status"
* @ws.sdo.value-object
* name="Status"
* read-only="true"
* Bean implementation class for Enterprise Bean: Status
*/
* value-objects="Registration RegistrationLite Status"