wsappid 명령
JPA(Java™ Persistence API) 스펙은 둘 이상의 열로 구성된 엔티티 기본 키를 지원합니다. 이 경우, 기본 키는 컴포지트 또는 복합 기본 키로 불립니다. @IdClass 어노테이션에서 지정되어 컴포지트 기본 키를 관리하는 ID 클래스를 제공합니다. JPA에 대한 ID 도구를 사용하여 컴포지트 기본 키를 사용하는 엔티티에 대한 ID 클래스를 생성합니다.
구문
명령을 실행하기 전에 클래스 경로에 persistence.xml의 사본을 배치하거나 -p [path_to_persistence.xml] 인수에서 특성 파일로 지정해야 합니다. profile_root 디렉토리의 bin 서브디렉토리에서 명령을 실행하십시오.
명령 구문은 다음과 같습니다.
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
wsappid.sh [parameters][arguments]
![[IBM i]](../images/iseries.gif)
wsappid [parameters][arguments]
![[Windows]](../images/windows.gif)
wsappid.bat [parameters][arguments]
매개변수
- -directory/-d <output_directory>:
출력 디렉토리의 경로입니다.
디렉토리가 생성된 출력 ID 클래스 패키지와 일치하지 않는 경우, 패키지 구조는 디렉토리 아래 작성됩니다. 이 매개변수가 지정되지 않으면, wsappid 도구는 지속성을 지원하는 클래스에 대한 .java 파일의 디렉토리를 찾으려고 합니다. .java 파일이 없는 경우, wsappid 도구는 현재 디렉토리를 사용합니다.
- -ignoreErrors/-i <true/t | false/f>: 이 매개변수가 false로 설정되면, 도구가 애플리케이션 ID를 사용하지 않는 클래스에서 실행되면 예외가 발생합니다. 클래스에 상속 계층 구조의 기본 클래스가 없는 경우에도 오류가 발생합니다.
- -token/-t <token>:
오브젝트 ID의 문자열 양식으로 문자열 기본 키의 값을 분리하는 데 사용되는 토큰입니다.
복수의 기본 키 필드가 있는 경우에만 이 옵션을 사용합니다. 기본값은 "::"입니다.
- -name/-n <id_class_name>:
생성할 ID 클래스의 이름입니다.
이 옵션이 지정된 경우, wsappid 도구는 하나의 클래스에서 정확하게 실행해야 합니다. 클래스 메타데이터가 오브젝트의 ID 클래스를 이미 이름 지정한 경우, 이 옵션은 무시됩니다. 이름이 완전하지 않으면, 지속성 클래스의 패키지는 완전한 이름의 양식에 추가됩니다.
- suffix <id_class_suffix>:
각 지속성 클래스 이름에 접미부를 추가하여 ID 클래스 이름을 구성하는 문자열입니다.
이 옵션은 -name/-n 매개변수 또는 메타데이터에서 지정된 오브젝트 ID 클래스로 대체됩니다.
- 지속성 클래스의 전체 이름입니다.
- 지속성 클래스의 .java 이름입니다.
- 지속성 클래스의 .class 파일입니다.
사용법
애플리케이션 서버용 JPA와 함께 사용된 ID 도구는 컴포지트 ID를 사용하는 엔티티에 대한 ID 클래스 작성의 태스크를 단순화합니다. 컴포지트 ID는 기본 키로 둘 이상의 필드가 있는 ID입니다. 엔티티 클래스가 컴파일되어야 하며 기본 키는 엔티티 클래스로 식별되어야 합니다. profile_root/bin/ 디렉토리에서 명령행으로 wsappid 도구를 실행하십시오. 이 명령을 실행하면, 엔티티의 컴포지트 ID를 표시하는 새 클래스가 생성됩니다. 지정된 대로 메시지 및 오류는 콘솔에 로그됩니다.
예제
@Entity
public class Employee {
@Id
private int division;
@Id private int id;
// . . .
}
엔티티가 사용되기 전에 ID 클래스가 필요합니다. 이 예의 경우,
엔티티가 src/main/java 디렉토리에 있다고 가정합니다.Magazine 엔티티에 대한 ID 클래스를 생성하려면 다음을 실행하십시오.
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
wsappid.sh -s Id src/main/java/Employee.java -d src/main/java
![[IBM i]](../images/iseries.gif)
wsappid -s Id src/main/java/Employee.java -d src/main/java
![[Windows]](../images/windows.gif)
wsappid.bat -s Id src\main\java\Employee.java -d src\main\java
새 클래스, EmployeeId.java는 src/main/java 디렉토리에 생성됩니다. 추가 정보
자세한 정보는 Apache OpenJPA 사용자 안내서의 지속성 클래스 정보에서 애플리케이션 ID 도구를 읽으십시오.