12.2. 간단한 JPA 애플리케이션 생성

아래 절차에 따라 Red Hat CodeReady Studio에서 간단한 JPA 애플리케이션을 만듭니다.

절차

  1. Red Hat CodeReady Studio에서 JPA 프로젝트를 만듭니다.

    1. Red Hat CodeReady Studio에서 파일프로젝트를 클릭합니다. 목록에서 JPA 를 찾아 확장한 다음 JPA 프로젝트를 선택합니다. 다음 대화 상자가 표시됩니다.

      그림 12.1. 새 JPA 프로젝트 대화 상자

      이는 새 JPA 프로젝트 대화 상자입니다.
    2. 프로젝트 이름을 입력합니다.
    3. 대상 런타임 을 선택합니다. 대상 런타임을 사용할 수 없는 경우 다음 지침에 따라 새 서버 및 런타임을 정의합니다. CodeReady Studio Tools 가이드 의 IDE 내에서 JBoss EAP 다운로드, 설치 및 설정.

      참고

      Red Hat CodeReady Studio에서 Target 런타임7.4 또는 이후 런타임 버전으로 설정하면 프로젝트가 Jakarta EE 8 사양과 호환됩니다.

    4. JPA 버전에서 2.1 이 선택되었는지 확인합니다.
    5. Configuration(구성) 에서 Basic JPA Configuration(기본 JPA 구성)을 선택합니다.
    6. 완료를 클릭합니다.
    7. 메시지가 표시되면 이 프로젝트 유형과 JPA 관점 창을 연결할지 여부를 선택합니다.
  2. 새 지속성 설정 파일을 만들고 구성합니다.

    1. Red Hat CodeReady Studio에서 EJB 3.x 프로젝트를 엽니다.
    2. Project Explorer 패널에서 프로젝트 루트 디렉터리를 마우스 오른쪽 버튼으로 클릭합니다.
    3. 기타...를 선택합니다..
    4. XML 폴더에서 XML File 을 선택하고 Next (다음)를 클릭합니다.
    5. ejbModule/META-INF/ 폴더를 상위 디렉터리로 선택합니다.
    6. 파일 이름을 persistence.xml 로 지정하고 Next 를 클릭합니다.
    7. XML 스키마 파일에서 Create XML file을 선택하고 Next (다음)를 클릭합니다.
    8. Select XML Catalog(XML 카탈로그 선택) 항목 목록에서 http://java.sun.com/xml/ns/persistence/persistence_2.0.xsd 를 선택하고 Next (다음)를 클릭합니다.

      그림 12.2. 지속성 XML 스키마

      지속성 XML 스키마
    9. Finish( 완료 )를 클릭하여 파일을 만듭니다. persistence.xmlMETA-INF/ 폴더에 생성되었으며 구성할 준비가 되었습니다.

      예제: 지속성 설정 파일

      <persistence xmlns="http://java.sun.com/xml/ns/persistence"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_2.xsd"
         version="2.2">
         <persistence-unit name="example" transaction-type="JTA">
            <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
            <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
            <mapping-file>ormap.xml</mapping-file>
            <jar-file>TestApp.jar</jar-file>
            <class>org.test.Test</class>
            <shared-cache-mode>NONE</shared-cache-mode>
            <validation-mode>CALLBACK</validation-mode>
            <properties>
               <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
               <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
            </properties>
         </persistence-unit>
      </persistence>