JPA 엔티티를 사용하여 세션 Bean 작성

EJB 3.1 세션 Bean 작성 마법사를 사용하여 EJB 프로젝트에서 세션 Bean 및 JPA 엔티티를 작성할 수 있습니다.

프로시저

  1. EJB 프로젝트 작성을 위한 단계를 수행하십시오. 구성 필드 옆에 있는 수정을 클릭하십시오.

    구성 수정

  2. 프로젝트 패싯 페이지에서 Java Persistence를 선택하고 확인을 클릭하십시오.
    JPA 패싯 추가
  3. 단계에 따라 JPA 패싯 페이지에 EJB 프로젝트를 작성하십시오.
    1. 플랫폼 필드에서 RAD JPA 플랫폼을 선택하십시오.
    2. 연결 필드에서 연결을 선택하거나 연결 추가를 클릭하여 연결을 작성하십시오. 단계를 따라 원하는 데이터베이스 연결을 작성하십시오.
    3. 연결 시 기본 스키마 겹쳐쓰기를 선택하고 스키마 필드에서 대체 스키마를 선택하십시오. 기본 스키마를 사용하지 않으려면 완료를 클릭하십시오.
  4. EJB 프로젝트에서 세션 Bean 작성:
    1. Java™ EE 퍼스펙티브에서 프로젝트를 마우스 오른쪽 단추로 클릭한 후 새로 작성 > 세션 Bean을 선택하십시오. EJB 3.1 세션 Bean 작성 마법사가 표시됩니다.
    2. 소스 폴더 필드에서 새 Bean의 소스 폴더를 선택하십시오.
    3. Java 패키지 필드에서 새 Bean의 패키지 이름을 입력하십시오.
    4. Bean 이름 필드에서 엔터프라이즈 Bean에 지정할 이름을 입력하십시오. 관례상, Bean 이름은 대문자로 시작합니다.
      참고: Bean 이름에 유니코드 문자를 사용할 수 있지만, 엔터프라이즈 Bean 패키지 및 엔터프라이즈 Bean과 연관된 클래스에서는 유니코드 문자를 지원하지 않습니다.
    5. 원격을 선택하여 원격 인터페이스를 추가하거나 로컬을 선택하여 로컬 인터페이스를 추가한 후 완료를 클릭하십시오.
  5. EJB 프로젝트에서 JPA 엔티티 작성:
    1. EJB 프로젝트를 마우스 오른쪽 단추로 클릭한 후 JPA > 엔티티 생성...을 선택하십시오.
    2. 데이터베이스 연결 페이지에서 연결 및 스키마가 올바른지 확인하고 다음을 클릭하십시오.
    3. 소스 폴더 필드의 테이블을 이용한 엔티티 생성 페이지에 소스 폴더의 이름을 입력하거나 엔티티에 대한 Java 소스 파일을 포함하는 폴더의 경로를 찾으십시오.
    4. Java 패키지 필드에 엔티티에 대한 Java 패키지를 입력하거나 해당 패키지를 찾으십시오.
    5. 엔티티 클래스를 persistence.xml 파일과 동기화하려는 경우 persistence.xml로 클래스 동기화를 선택하십시오.
    6. 테이블 필드에서 엔티티를 작성할 테이블을 하나 이상 선택하고 완료를 클릭하십시오. JPA 엔티티 클래스와 함께 Java 편집기가 열립니다.
  6. JPA 엔티티 클래스에 조회를 작성하십시오. Java 편집기에서 JPA 엔티티 클래스를 열고 데이터베이스에서 데이터를 검색하는 조회를 작성할 수 있습니다. 예를 들어, 엔티티 클래스에서의 두 가지 단순 조회는 다음과 같습니다.
    @Entity
    @NamedQueries({
    	@NamedQuery(name = "findBySalaryLessThan", query = "SELECT e FROM Employee e WHERE e.salary < :salary"),
    	@NamedQuery(name = "findBySalaryGreaterThan", query = "SELECT e FROM Employee e WHERE e.salary > :salary")
    })
  7. 세션 Bean에서 JPA 엔티티를 사용하십시오. Stateless 세션 Bean에서 EntityManager 인젝션을 사용하여 JPA 엔티티에 작성된 조회를 실행할 수 있습니다. Java 편집기에서 세션 Bean 클래스를 열고 JPA 엔티티에 연결되는 EntityManager를 작성하십시오. 다음은 이전 단계에서 작성된 조회를 호출하는 예제입니다.
    @Stateless
    public class HumanResourcesBean implements HumanResources {
    
    	@PersistenceContext
    	private EntityManager emanager;
    
    	public HumanResourcesBean() {
    	}
    
    	public List<Employee> findBySalaryLessThan(double salary) {
    		Query query = emanager.createNamedQuery("findBySalaryLessThan");
    		query.setParameter("salary", BigDecimal.valueOf(salary));
    
    		@SuppressWarnings("unchecked")
    		List<Employee> result = query.getResultList();
    		return result;
    	}
    
    	public List<Employee> findBySalaryGreaterThan(double salary) {
    		Query query = emanager.createNamedQuery("findBySalaryGreaterThan");
    		query.setParameter("salary", BigDecimal.valueOf(salary));
    
    		@SuppressWarnings("unchecked")
    		List<Employee> result = query.getResultList();
    		return result;
    	}
    }
주제 유형을 표시하는 아이콘 태스크 주제
Information Center의 이용 약관 | 피드백

시간소인 아이콘 마지막 업데이트 날짜: 2014-05-22

파일 이름: tsessbeanjpawiz.html