Last Modified : 2010.02.25

¿£Æ¼Æ¼ ºó(CMP)

¿öÅ©½ºÆäÀ̽º¸¦ C:/ejb ·Î ¼±ÅÃÇϰí ÀÌŬ¸³½º¸¦ ½ÇÇàÇÕ´Ï´Ù.
video ¶ó´Â »õ·Î¿î ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
video ÇÁ·ÎÁ§Æ®¿¡ weblogic.jar ¸¦ Add External JARs.. ¹öưÀ» ÀÌ¿ëÇÏ¿© Ãß°¡ÇÕ´Ï´Ù.

´ÙÀ½, ¾Æ·¡ SQL¹®À» SQL*PLUS¸¦ ÀÌ¿ëÇØ ½ÇÇàÇÕ´Ï´Ù.

create table video (
  isbn varchar2(20) primary key,
  name varchar2(50) not null,
  price number not null
);
¿ø°Ý ÀÎÅÍÆäÀ̽º ÀÛ¼º

Video.java

package kr.co.hanbitbook.ejb.examples.video;

import java.rmi.RemoteException;

import javax.ejb.EJBObject;

public interface Video extends EJBObject {
	
	public String getIsbn() throws RemoteException;
	
	public String getName() throws RemoteException;
	
	public int getPrice() throws RemoteException;
	
	public void setName(String name) throws RemoteException;
	
	public void setPrice(int price) throws RemoteException;
	
}
Ȩ ÀÎÅÍÆäÀ̽º ÀÛ¼º

VideoHome.java

package kr.co.hanbitbook.ejb.examples.video;

import java.rmi.RemoteException;

import javax.ejb.CreateException;
import javax.ejb.EJBHome;
import javax.ejb.FinderException;

public interface VideoHome extends EJBHome {
	
	public Video create(String isbn, String name, int price)
		throws CreateException, RemoteException;
	
	public Video findByPrimaryKey(String isbn) 
		throws FinderException, RemoteException;
	
}
ºó Ŭ·¡½º ÀÛ¼º

ÀÌŬ¸³½ºÀÇ ¼Ò½º ÀÛ¼º½Ã¿¡ »ç¿ëÇÏ´Â ±âº» ±â´É°ú ¿¡µðÅÍ ºä¿¡¼­ ÄÁÅØ½ºÆ® ¸Þ´º(Source - Override/Implement Methods ... ) ¸¦ ÀÌ¿ëÇÏ¸é ¾Æ·¡¿Í °°Àº ¼Ò½º¸¦ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

VideoEJB.java

package kr.co.hanbitbook.ejb.examples.video;

import java.rmi.RemoteException;

import javax.ejb.EJBException;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.RemoveException;

public abstract class VideoEJB implements EntityBean {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6771711186833847300L;
	
	public void ejbActivate() throws EJBException, RemoteException {
		// TODO Auto-generated method stub
		
	}

	public void ejbLoad() throws EJBException, RemoteException {
		// TODO Auto-generated method stub
		
	}

	public void ejbPassivate() throws EJBException, RemoteException {
		// TODO Auto-generated method stub
		
	}

	public void ejbRemove() throws RemoveException, EJBException,
			RemoteException {
		// TODO Auto-generated method stub
		
	}

	public void ejbStore() throws EJBException, RemoteException {
		// TODO Auto-generated method stub
		
	}

	public void setEntityContext(EntityContext arg0) throws EJBException,
			RemoteException {
		// TODO Auto-generated method stub
		
	}

	public void unsetEntityContext() throws EJBException, RemoteException {
		// TODO Auto-generated method stub
		
	}
	
}

getter, setter ¸Þ¼Òµå¸¦ Ãß°¡ÇÕ´Ï´Ù.

VideoEJB.java

	public abstract String getIsbn();
	public abstract String getName();
	public abstract int getPrice();
	
	public abstract void setIsbn(String isbn);
	public abstract void setName(String name);
	public abstract void setPrice(int price);

ejbCreate, ejbPostCreate ¸Þ¼Òµå¸¦ Ãß°¡ÇÕ´Ï´Ù.

VideoEJB.java

	public String ejbCreate(
		String isbn, String name, int price) throws CreateException {
		setIsbn(isbn);
		setName(name);
		setPrice(price);
		
		return null;
	}
	
	public void ejbPostCreate(
		String isbn, String name, int price) throws CreateException {
	}

EntityContext º¯¼ö¸¦ Ãß°¡Çϰí setEntityContext, unsetEntityContext ¸Þ¼Òµå¸¦ ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÕ´Ï´Ù.

VideoEJB.java

	private EntityContext context; 

	public void setEntityContext(EntityContext arg0) 
		throws EJBException, RemoteException {
		context = arg0;
	}

	public void unsetEntityContext() 
		throws EJBException, RemoteException {
		context = null;
	}
¹èÄ¡ µð½ºÅ©¸³ÅÍ ÀÛ¼º(À¥·ÎÁ÷ ºô´õ ÀÌ¿ë) ¹× ¹èÄ¡

À¥·ÎÁ÷ ºô´õ¸¦ ½ÇÇàÇϰí Open ¹öưÀ» ÀÌ¿ëÇØ¼­ video ÇÁ·ÎÁ§Æ®ÀÇ bin Æú´õ¸¦ ¼±ÅÃÇÕ´Ï´Ù.
À̾îÁö´Â È­¸é¿¡¼­ ´ÙÀ½°ú °°ÀÌ ¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÕ´Ï´Ù.
General ÅÇ ¼³Á¤
Classes ÅÇ ¼³Á¤
DataSource name ÀÇ Browse ¹öưÀ» Ŭ¸¯ÇÕ´Ï´Ù.
Persistence ÅÇ ¼³Á¤
À¥·ÎÁ÷ ¼­¹öÀÇ °ü¸®ÀÚ ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå¸¦ »ç¿ëÇÏ¿© Á¢¼ÓÇϸé
¾Æ·¡¿Í °°ÀÌ µ¥ÀÌÅÍ ¼Ò½º¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Â ´ëÈ­»óÀÚ¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.
¿©±â¼­´Â ora9 ¸¦ ¼±ÅÃÇÕ´Ï´Ù.
Persistence ÅÇ ¼³Á¤
´ëÈ­»óÀÚÀÇ OK ¹öưÀ» Ŭ¸¯ÇÏ¸é ¾Æ·¡ ±×¸²°ú °°ÀÌ µ¥ÀÌÅÍ ¼Ò½º¸íÀÌ º¯°æµÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
Table name Ç׸ñ¿¡ ÀÖ´Â Browse ¹öưÀ» Ŭ¸¯ÇÕ´Ï´Ù.
Persistence ÅÇ ¼³Á¤
Persistence ÅÇ ¼³Á¤
Edit¹öưÀ» Ŭ¸¯
CMP Fields ¼³Á¤
CMP Fields ¼³Á¤
CMP Fields ¼³Á¤
CMP Fields ¼³Á¤
Save ¹öưÀ» Ŭ¸¯ÇÏ¿© ÀúÀåÇÕ´Ï´Ù.
Archive...¸Þ´º¸¦ ÀÌ¿ëÇØ¼­ video.jar ÆÄÀÏÀ» »ý¼ºÇÑ ´ÙÀ½ À¥·ÎÁ÷ Äֿܼ¡¼­ ¹èÄ¡ÇÕ´Ï´Ù.

Å×½ºÆ®

Å×½ºÆ®¸¦ À§ÇÑ »õ·Î¿î ÇÁ·ÎÁ§Æ®¸¦ video_client ¶õ À̸§À¸·Î »ý¼ºÇÕ´Ï´Ù
¹èÄ¡½Ã »ç¿ëÇß´ø video.jar ¿Í weblogic.jar ¸¦ Add External JARs... ¹öưÀ» ÀÌ¿ëÇØ¼­ video_client ÇÁ·ÎÁ§Æ®ÀÇ Build Path ¿¡ µî·ÏÇÕ´Ï´Ù.
Å×½ºÆ® ÆÄÀÏ À» ´Ù¿î·Îµå ¹Þ¾Æ ¾ÐÃàÀ» Ç®¾î video_client ÇÁ·ÎÁ§Æ®ÀÇ ¼Ò½º¿¡ Ãß°¡ÇÕ´Ï´Ù.
VideoInsert.java - VideoSelect.java - VideoUpdate.java - VideoSelect.java - VideoDelete.java ¼øÀ¸·Î Å×½ºÆ®ÇÕ´Ï´Ù.

Âü°í ¹®¼­

¾Ë±â½±°Ô Ç®¾î ¾´ À¥·ÎÁ÷°ú EJB 9Àå -ÇѺû¹Ìµð¾î,±è¼º¹Ú Àú-
¿¹Á¦¿¡ ¾²¿´´ø jar,war,ear ÆÄÀÏ (¹èÄ¡½Ã ÀÍ¼Ê¼Ç ¹ß»ýÇÒ ¶§ Âü°í¿ë)