EJB �׸� �ۼ� ���̾�α�

 


�� ������ Project View |  J2EE ï¿½ï¿½ï¿½ï¿½ ����ϴ� ���ο� EJB �׸��� �ۼ��� ���� �����ε� ���̾�α׸� ����մϴ�.

EJB ��� ����


EJB Module �� Ư��  Create EJB Module  ���ǿ��� ����ߴ� Add Module ï¿½ï¿½ï¿½ï¿½ï¿½ç¸¦ ����Ͽ� ������ �� �ֽ��ϴ�.

EJB ����


���� ���� EJBs ï¿½ï¿½ Project View ���� ���� �޴��� ����ϸ鼭 ������ �� �ֽ��ϴ�. �ű⿡�� EJB Module �� ������ ��ư�� Ŭ���ϰų� �Ǵ� Alt + Insert �� ������ New ï¿½ï¿½ï¿½ï¿½Þ´ï¿½ �Ʒ�����  �ʿ��� �׸��� �����մϴ�.



 
�� �ٸ� �����  EJB Module Properties Editor: General: Configured EJBs  ï¿½×·ì¿¡ï¿½ï¿½ New�� ï¿½ï¿½Æ°ï¿½ï¿½ ������ �� �Դϴ�.

New Bean ï¿½ï¿½ï¿½Ì¾ï¿½Î±×´ï¿½ �Ʒ� ǥ���� ����� ���� ���� �ʵ�� �Բ� ������ �����մϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ Ư���� �����ְ� �˴ϴ�.

���� ���̾�α� �׸�

EJB name  *  

bean �̸��� �Է��� �ʵ�.  ï¿½×°ï¿½ï¿½ï¿½ ���� ������� <ejb-name> ï¿½Â±×¿ï¿½ ���� �����μ� ���˴ϴ�.

Package  

ejb Ŭ����, �������̽��� ���Ӱ� ������ bean�� �ֿ� Å° Ŭ������ ���� ���� ����.  ï¿½Êµå¿¡ ���� �� ���� ������ ���Ͽ�  Destination Package Field  ���꼽���� �����Ͻʽÿ�.

EJB class  *  

��� bean Ŭ���� �̸��� �Է��� �ʵ�

CMP/BMP Entity ��  Session Beans  

Remote interface group **  

�����ϸ�, �� �׷쿡�� ����� ���� Ȩ�� ������� �������̽��� ���� �̸��� �Է��� �� �ֽ��ϴ�

Local interface group **  

�����ϸ�, �� �׷쿡�� ����� ���� Ȩ�� ������� �������̽��� ���� �̸��� �Է��� �� �ֽ��ϴ�

CMP/BMP Entity  Beans  

Primary Key  Class *  

�� �ʵ�� ���� Ű ���Ѽ��� �����ϴ� ����� �ڰ��� �־��� Ŭ�����̸��� �����ؾ߸� �մϴ� (�� Ŭ������ serializable�ؾ��ϸ�, �ؽ� �ڵ� ���� �ݵ�� ������ �մϴ�.)

�׷��� ������ ����� ���ø����̼� �����κ����� ������ ��� �� ���Դϴ�.

CMP Entity  Beans Only  

CMP version  

CMP ������ �����մϴ�- 1.x �Ǵ� 2.x.

 

  - ï¿½ï¿½Ç¥(*) ï¿½ï¿½ �Բ� ��ũ�� �ʵ�� �ǹ����Դϴ�.
** �ּ���, �ϳ��� �������̽� �׷�(���� �Ǵ� ����)�� �����Ǿ�߸� �մϴ�.


EJB ���� ����


Create Entity Bean Relationship ï¿½ï¿½ï¿½Ì¾ï¿½Î±×¸ï¿½ ��� ���ؼ� Project  ï¿½ï¿½ �������� J2EE ï¿½Ç¿ï¿½ï¿½ï¿½ entity bean �̸��� ������ ��ư�� Ŭ���Ͽ� �ҷ����� ���� �޴����� New |  EJB Relationship ï¿½ï¿½ �����Ͻʽÿ�. �ٸ� ����� �����ϴ� EJB ��⿡ ����  EJB Relationships  �ǿ��� New...  ï¿½ï¿½Æ°ï¿½ï¿½ ������ �� �Դϴ�.

Name  

�� �ʵ忡�� ����� CMR �ʵ忡 ���� � ������ �̸��̶� ������ �� �ֽ��ϴ�.  

�װ��� ���� �������� <ejb-name> ï¿½Â±ï¿½ ������ ���˴ϴ�.  IDEA�� ���� ���ȵ� �̸��� ���谡 Ȯ���� bean�� �̸��� �׵� ������ �뽬�� �������� �Ϳ� ���� �����˴ϴ�.

Description  

�� �ʵ忡�� ����� CMR �ʵ忡 ���� ������ ������ �� �ֽ��ϴ�.  ï¿½×°ï¿½ï¿½ï¿½ ���� �������� <description> ï¿½Â±ï¿½ �����μ� ���˴ϴ�.

EJB 1  

��� ������ beans�� ǥ���ϴ� �� ���-�ٿ� �ڽ��κ��� ����� CMR �ʵ带 ���� ù ��° bean�� �Ǵ� �ϳ��� ������ �� �ֽ��ϴ�.  

���� ���õ� EJB�� � ���� �������̽��� ������ ������ �� �ٸ� EJB�� CMR field for EJB '<the_EJB_name>' ï¿½ï¿½ �Ұ����ϰ� �� ���Դϴ�.

EJB 2  

��� ������ beans�� ǥ���ϴ� �� ���-�ٿ� �ڽ��κ��� ����� CMR �ʵ带 ���� �� ��° bean�� �Ǵ� �ϳ��� ������ �� �ֽ��ϴ�.  

 

Multiplicity  

�� �ʵ� ���ϳ� �Ǵ� ����-�� ǥ������ Ÿ���� �����մϴ�, �װ��� �� ���Ϳ� ���� ���ϵǰ� �� ������� ���Ϳ��� �־��� CMR type  ��Ӵٿ� �ڽ��� ������ ���� �������̽� �Ǵ� java.util.Collection/java.util.Set  �Դϴ�

Role name  

<ejb-relationship-role-name>  ï¿½Â±ï¿½ï¿½ï¿½ ����� �������� �����ϴ� ejb ���� ������ �̸�.  ï¿½ï¿½ �ʵ�(�±׻Ӹ��ƴ϶�)�� �ɼ��Դϴ�.

 

  CMR field  for EJB '<the_EJB_name>'  

 

Enable CMR field  

üũ �ڽ��� �����ϸ� CMR �ʵ尡 bean ���� �������̽����� ������ ���� ǥ���մϴ�.  ï¿½ï¿½ï¿½ï¿½ ���� EJB�� ���� üũ �ڽ��� �����Ǹ� OK ï¿½ï¿½ �Ұ����ϰ� �ϰ� �ǰ� CMR �ʵ�� ������ �� �����ϴ�.

Field name  

�ؽ�Ʈ �ڽ��� CMR �ʵ忡 ���� �̸��� �����ݴϴ�. �׸��� ���ȵ� �̸��� CMR ���谡 Ȯ���� �� �ٸ� bean �̸� ��Ʈ�Դϴ�.

Field type  

ǥ���� Ÿ������ �������̽��� �� ���-�ٿ� �ڽ�, java.util.Collection  

�Ǵ� java.util.Set�� ���Ϳ� ���� ���� Ÿ�����μ� �׸��� ���Ϳ� ���� �� �����μ� ���� �� �Դϴ�.

Getter  

�� üũ �ڽ��� �����ϸ� EJB ���� �������̽����� CMR �ʵ忡 ���� ���� ������ �ʷ��� ���Դϴ�.

Setter  

�� üũ �ڽ��� �����ϸ� EJB ���� �������̽����� CMR �ʵ忡 ���� ���� ������ �ʷ��� ���Դϴ�.

Cascade delete  

�� üũ �ڽ��� �����ϸ� �� bean ������ ��쿡 ��� ���ӵ� bean�� ���Ÿ� �ʷ��� ���Դϴ�.  ï¿½ï¿½ï¿½ï¿½ �ٸ� EJB ���ߵ��� One ï¿½ï¿½ï¿½ï¿½ ������ ��쿡�� �� �޺� �ڽ��� ��� �����ϰ� �˴ϴ�.

 

CMP �ʵ� ����


Create New CMP Field ï¿½ï¿½ï¿½Ì¾ï¿½Î±×¸ï¿½ ��� ���ؼ�:

 EJB Editor�� General ï¿½Ç¿ï¿½ï¿½ï¿½ CMP Fields |  Add CMP Field ...  ï¿½ï¿½Æ°ï¿½ï¿½ �����ϴ�.

 ï¿½ï¿½ �������� J2EE �ǿ��� entity bean�� ������ ��ư�� Ŭ���ϴ� �Ϳ� ���� �ҷ����� ���� �޴��� New |  CMP Field ï¿½Êµå¸¦ �����մϴ�.

Name  

�� �ʵ忡�� ����� CMP �ʵ��� �̸��� ������ �� �ֽ��ϴ�.  ï¿½Ì¸ï¿½ï¿½ï¿½ �� �ҹ���(IDEA�� �װ��� �ڵ������� ������ ���Դϴ�)�� ���۵Ǿ�߸� �ϰ�, ��ȿ�� �ڹ� �ĺ����̾�߸� �մϴ�.

Description  

�� �ʵ忡�� ����� ���� ������� <description>  ï¿½Â±ï¿½ ���� ���� ���� ������ �� �ֽ��ϴ�.

Type  

�� �ʵ�� ���Ӱ� ������ �ʵ忡 �Ҵ�� ���� existing Å¬ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ �ܼ� ���� �Ǵ� ���� ���ĵ� �̸��� �����ؾ߸� �մϴ�.  ï¿½ï¿½ï¿½Èµï¿½ ���� java.lang.String ï¿½Ô´Ï´ï¿½.
 

����� ���ϴ� Ÿ���� �����ϴ� 3���� ����� �����ϴ�:

1.  ��������. �׸��� ���� �׷� Ŭ���� �Ǵ� Ÿ���� �������� ������ ��ſ��� ���� ���� �޽����� ������Ʈ�� ���Դϴ�:

2.  ��Ӵٿ� �޴��� ����ϴ� ��

3.  ellipsis ï¿½ï¿½Æ°ï¿½ï¿½ ������ �ҷ����� Choosing CMP Field Class  ï¿½ï¿½ï¿½Ì¾ï¿½Î±×¸ï¿½ ����ϴ� ��.


Choosing CMP Field Class  ï¿½ï¿½ï¿½Ì¾ï¿½Î±×´ï¿½ �� ���� ���� �����ϴ�:



Search By Name ï¿½Ç¿ï¿½ ���� �˻����� ����� �ؽ�Ʈ �ʵ忡�� �ʿ��� Ŭ���� �̸��� Ÿ�����ϱ� ������ �� �ֽ��ϴ�. �׸��� ���� �̸��� ����� Ÿ�����ߴ� ���ڿ��� ��ġ�ϴ� � Ŭ������ ������, ù ��° ��ġ�� �Ķ������� �Ϸ� ���ڸ� �����ϰ� �ִ� Ÿ������ ���ڿ��� �Ϸ��� ���Դϴ�. �׸��� �ٸ� ��ġ�� ��Ͽ� ��Ÿ�� ���Դϴ�.



Tree View ï¿½Ç¿ï¿½ï¿½ï¿½ �����  ���ϴ� Ŭ���� �̸��� ������ �� �ִ� ������ ����� ������Ʈ�� Ʈ�� ���� ���������̼��� �� �� �ֽ��ϴ�.

Primary Key  

���� üũ �ڽ��� ���õǸ� ���Ӱ� ������ CMP �ʵ�� ���� Ű�μ� ǥ�õ� ���Դϴ�. �׸��� �װ��� ���� �������� �±� �� <primkey-field>: ï¿½ï¿½ �����մϴ�.

Generate getter in  

�� �ʵ忡�� ����� ������ ���͸� ���ϴ� ������� �������̽�(���� �Ǵ� ����)�� ������ �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ ����� ���� �۾��ϰ� �ִ� entity bean �� �׵� ���� �ϳ��� ������ ������ �����ϴ� �׸�(üũ �ڽ��� ���̺�)�� ��Ÿ���� ���� ���Դϴ�.  ï¿½ï¿½ï¿½ï¿½ ���ʹ� 1.x CMP�� ���� EJB Ŭ������ ����Ʈ ������ 2.x CMP�� �Ϳ� ���� �߻󿡼� ������ ���Դϴ�.

Generate setter in  

�� �ʵ忡�� ����� ������ ���͸� ���ϴ� ������� �������̽�(���� �Ǵ� ����)�� ������ �� �ֽ��ϴ�.  ï¿½ï¿½ï¿½ï¿½ ����� ���� �۾��ϰ� �ִ� entity bean �� �׵� ���� �ϳ��� ������ ������ �����ϴ� �׸�(üũ �ڽ��� ���̺�)�� ��Ÿ���� ���� ���Դϴ�.  ï¿½ï¿½ï¿½ï¿½ ���ʹ� 1.x CMP�� ���� EJB Ŭ������ ����Ʈ ������ 2.x CMP�� �Ϳ� ���� �߻󿡼� ������ ���Դϴ�.




���� ��ü ����


���� ��ü�� �׵鿡�� ���͸� �������ְ� �ִ� EJB �ʵ��� ���� �����ϱ� ���� �����ε� �Һ��� �����͸� ��� �ִ� ��ü�Դϴ�. ��� �ʵ带 �ѹ��� �����ϴ� ���� ������(Ư�� ���� ������ ��쿡��) �׵��� ������ �θ��� �ͺ��� �ſ� "cheaper" �ӿ� Ʋ������ ������ �̰��� �����մϴ�.

���� ��ü�� ���� ���λ����� ��� ���ؼ�,

 http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html ï¿½ï¿½ �����մϴ�

Select Accessors of Fields to Include in Transfer Object  ���̾�α׸� ��� ���� EJB Tool Window View ���� entity bean�� ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ��ư�� Ŭ���ϴ� �Ϳ� ���� �ҷ����� ���� ���� �޴� ���� New |  Transfer Object ï¿½ï¿½ �����Ͻʽÿ�.




���̾�α״� Ʈ���� ���� ����, �׸��� ���� ��ü�� �����ϴ� 3���� �ؽ�Ʈ �ʵ�� �� �׼��� ���� ���õ� entity bean ���� �ʵ忡 ���� ������ ���͸� ��ſ��� �����ְ� �ִ� ����, �ؽ�Ʈ ������ �����ϴ�.
���콺 �Ǵ�/�� Ű���带 ����ϰ� �ִ� ���� �������� ����� ���ο� ���� ��ü�� ���ԵǴ� �ʵ带 ����/���� ������ �� �ֽ��ϴ�.

�̰��� ���� ��ü �Ӽ��� �����ϴ� ������ �ؽ�Ʈ �ʵ��Դϴ�:

Transfer Object  class name  

��ȿ�� �ڹ� �ĺ����ӿ� Ʋ������ ���ο� ���� ��ü�� �̸��� Ÿ�����Ͻʽÿ�.

�׷��� ������ Ok ï¿½ï¿½Æ°ï¿½ï¿½ �Ұ����ϰ� �ϰ� �˴ϴ�. �׸��� ����� �� ���� ��ü�� ������ �� �����ϴ�.

Generate getter in  <your_EJB_name> interface  

���� �� �ʵ尡 ��� �����ϰ� �ϰ� �Ǹ�, ����� �̸��� ���� ��ü ���Ϳ� �Է��� �� �ְų�, IDEA�� ���� ���ȵ� �̸��� ����� �� �ֽ��ϴ�.

���ȵ� �̸��� ���� ��ü �̸��� ���� ��Ʈ�� ���Ͽ� ���λ� ��get������ �����˴ϴ�.  

���� ��ü �̸��� ������ ���� ���� �̸��� �ٲ� ���Դϴ�.  ï¿½×·ï¿½ï¿½ï¿½, ���� ����� ������ ������ �������� ������ �ִ� ���� �̸��� �����ϸ� ��ü �̸��� ���� �̸����� �� �̻� �ݿ����� ���� ���Դϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ���� ������ EJB Ŭ�������� ����� EJB ������� �������̽��� �� �������� ������ ���Դϴ�.

Generate setter in  <your_EJB_name> interface  

���� �� �ʵ尡 ��� �����ϰ� �ϰ� �Ǹ�, ����� �̸��� ���� ��ü ���Ϳ� �Է��� �� �ְų�, IDEA�� ���� ���ȵ� �̸��� ����� �� �ֽ��ϴ�.

���ȵ� �̸��� ���� ��ü �̸��� ���� ��Ʈ�� ���Ͽ� ���λ� ��set������ �����˴ϴ�.  

���� ��ü �̸��� ������ ���� ���� �̸��� �ٲ� ���Դϴ�.  ï¿½×·ï¿½ï¿½ï¿½, ���� ����� ������ ������ �������� ������ �ִ� ���� �̸��� �����ϸ� ��ü �̸��� ���� �̸����� �� �̻� �ݿ����� ���� ���Դϴ�.  ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ���� ������ EJB Ŭ�������� ����� EJB ������� �������̽��� �� �������� ������ ���Դϴ�.

 

���ο� ���� ��ü�� �����ϱ� ���ؼ� ����� ����, ���� �Ǵ� �� �ٸ� �����ؾ߸� �մϴ�. ���� ����� ���ʿ� ���� üũ�ڽ��� ���� �����Ѵٸ� Ok  ï¿½ï¿½Æ°ï¿½ï¿½ �Ұ��� �ϰ� �� ���Դϴ�.


 

���� �׸�


Destination Package Field  


����� ���� �̸��� �������� Ÿ������ �� �ֽ��ϴ�. �׸��� ���� �׷� ������ �������� ������, IDEA�� �����ϴ� ������ ������ ���Դϴ�.  ï¿½×·ï¿½ï¿½ï¿½ ������, ����� ellipsis ï¿½ï¿½Æ°ï¿½ï¿½ ������ �Ϳ� ���� Choose Destination Package ï¿½ï¿½ï¿½Ì¾ï¿½Î±×¸ï¿½ �θ� �� �ֽ��ϴ�.



����� ������ �����ϰų� New Package ï¿½ï¿½Æ°ï¿½ï¿½ ������ ���ο� ���� ������ �� �ֽ��ϴ�.



Enter a new package name ï¿½Ø½ï¿½Æ® �ʵ忡�� ���ο� ���� �̸��� Ÿ���� �ϰ� OK ï¿½ï¿½ �����ʽÿ�.