wsmapping 명령
wsmapping 도구는 데이터베이스 관계형 모델로의 엔티티 오브젝트 모델의 하향식 맵핑을 제공하는 데 사용됩니다. wsmapping 도구를 사용하여 데이터베이스 테이블을 작성할 수 있습니다.
구문
명령 구문은 다음과 같습니다.
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
wsmapping.sh [options][arguments]
![[IBM i]](../images/iseries.gif)
wsmapping [options][arguments]
![[Windows]](../images/windows.gif)
wsmapping.bat [options][arguments]
매개변수
- -schemaAction/-sa <add | refresh
| drop | build | reflect | retain | createDB | import | export | none>:
스키마에 대해 구현할 조치입니다.
이 옵션은 스키마 도구의 조치에 해당됩니다. 지정된 것이 없는 경우 Add는 기본 조치입니다. 조치는 쉼표로 구분된 목록으로 작성될 수 있습니다.
참고: wsmapping 도구는 -action/-a 플래그를 승인하여 개별 클래스에서 사용할 조치를 지정합니다. 한 번에 지속성 유형의 모두에서 wsmapping을 실행하지 않는 경우, 기본 add 조치나 build 조치를 사용해야 합니다. 그렇지 않으면 현재 도구를 실행하지 않는 클래스에서 사용된 스키마 컴포넌트를 부주의로 삭제할 수 있습니다. - -schemaFile/-sf <true/t | false/f>:
이 옵션은 데이터베이스를 수정하지 않고 계획된 스키마를 XML 문서에 작성하는 데
사용될 수 있습니다.
XML 문서는 스키마 도구로 수정, 조작 및 데이터베이스로 커미트될 수 있습니다.
- -sqlFile/-sql <stdout | output
file>: 이 옵션은 데이터베이스를 수정하지 않고 계획된 스키마 수정을 SQL 스크립트에 작성하는 데 사용될 수 있습니다.
스키마가 존재하더라도 build의 schemaAction과 이 매개변수를 결합하여 현재 맵핑에 대한 스키마를 다시 작성하는 스크립트를 생성합니다.
- -dropTables/-dt <true/t | false/f>:
이 옵션이 true로 설정된 경우 스키마는 retain 및 refresh 조치 중 사용되지 않는 것으로 보이는 테이블을 삭제합니다.
기본값은 true입니다.
- -dropSequences/-dsq <true/t |
false/f>: 이 옵션이 true로 설정된 경우,
스키마는 retain 및 refresh 조치 중 사용되지 않는 시퀀스를 삭제합니다.
기본값은 true입니다.
- -openjpatables/-ot <true/t | false/f>:
스키마를 반영할 때 이 매개변수는 OPENJPA_로 시작하는 이름으로 테이블과 시퀀스를 반영할지 여부를 판별합니다.
특정 OpenJPA 컴포넌트는 테이블 스키마 팩토리와 같이 이 테이블과 시퀀스를 사용합니다. 다른 조치 사용 시, openjpaTables 매개변수는 이 테이블을 삭제할지 또는 삭제하지 않을지 여부를 제어합니다. 기본 설정은 false입니다.
- -ignoreErrors/-i <true/t | false/f>:
false로 설정된 경우, 도구가 데이터베이스 오류를 만나면 예외가 발생합니다.
기본값은 false로 설정됩니다.
- -schemas/-s <schema list>:
wsschema 도구 실행 시 OpenJPA가 액세스해야 하는 스키마의 목록과 테이블 이름을 선언합니다.
한 번 실행할 openjpa.jdbc.Schemas 특성을 설정하는 것과 동등합니다. 이 매개변수는 wsschema 도구에서 -schemas/-s 매개변수에 해당합니다. -readSchema/-rs가 true로 설정되지 않는 경우 이 옵션은 무시됩니다.
- -readSchema/-rs <true/t | false/f>:
이 옵션을 true로 설정하여 맵핑 도구 실행 시 전체 기존 스키마를 읽으십시오.
기존 스키마를 읽으면 OpenJPA는 기존 이름과 충돌되는 외부 키 이름, 기본 키 또는 테이블 색인을 사용하는 맵핑을 생성하지 않도록 합니다.
참고: 특정 JDBC 드라이버에 따라, -readSchema/-rs 함수를 선택하면 큰 스키마에 대한 프로세스가 느려질 수 있습니다. - -primaryKeys/-pk <true/t | false/f>:
이 플래그는 기본 키가 기존 테이블에서 조작될 수 있는지 판별합니다.
기본값은 true입니다.
- -foreignKeys/fk <true/t | false/f>:
이 플래그는 외부 키가 기존 테이블에서 조작될 수 있는지 판별합니다.
기본값은 true입니다. 새 외부 키를 이미 맵핑된 클래스에 추가하려면 이 매개변수 플래그를 true로 명시적으로 설정해야 함을 의미합니다.
- -indexes/-ix <true/t | false/f>:
이 플래그는 색인이 기존 테이블에서 조작될 수 있는지 판별합니다.
기본값은 true입니다. 새 색인을 이미 맵핑된 클래스에 추가하려면 이 매개변수 플래그를 true로 명시적으로 설정해야 함을 의미합니다.
- -sequences/-sq <true/t | false/f>:
이 플래그는 시퀀스가 조작될 수 있는지 판별합니다.
기본값은 true입니다.
- -meta/-m <true/t | false/f>: 이 플래그는 맵핑이 표준 맵핑이 아닌 또는 표준 맵핑 외에 메타데이터에 적용되는지 여부를 판별합니다.
- wsmapping 도구는 -action/-a 플래그를 승인하여 각 클래스에서 사용할 조치를 지정합니다. 다중 조치가
목록으로 구성될 수 있으며 쉼표로 구분됩니다. 사용 가능한 조치는 다음과 같습니다.
- buildSchema: 기본 조치입니다. buildSchema 조치는 데이터베이스 스키마를 기존 맵핑과 일치시킵니다. 제공된 맵핑이 클래스 정의와 충돌되면 OpenJPA는 정보 예외로 실패합니다.
- validate: 지정된 클래스에 대한 맵핑이 유효하며 데이터베이스의 스키마와 일치함을 확인합니다. 테이블의 맵핑이 이 조치의 결과로 변경되지 않습니다. 맵핑이 올바르지 않은 경우 예외가 발생합니다.
- 지속성 클래스의 전체 이름입니다.
- 지속성 클래스의 .java 이름입니다.
- 지속성 클래스의 .class 파일입니다.
wsmapping 도구에 대한 인수를 제공하지 않는 경우, 지속적 클래스 목록의 클래스에서 실행됩니다.
사용법
wsmapping 도구를 실행하기 전에, URL, 사용자 및 비밀번호를 포함하여 데이터 소스 정보를 구성해야 합니다. 바이트코드를 엔티티 클래스로 삽입하려면 wsmapping 도구 전에 wsenhancer 도구가 실행되어야 합니다. 또한, 엔티티에 대해 컴파일된 클래스는 클래스 경로에 있어야 합니다. 엔티티 클래스 파일이 대상/클래스에 있다고 가정합니다. 예를 들어 다음과 같습니다.
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[AIX HP-UX Solaris]](../images/unix.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
export CLASSPATH=${CLASSPATH}:target/classes
wsmapping.sh ...
![[IBM i]](../images/iseries.gif)
export CLASSPATH=${CLASSPATH}:target/classes
wsmapping ...
![[Windows]](../images/windows.gif)
SET CLASSPATH=%CLASSPATH%;target\classes
wsmapping.bat . . .
테이블을 작성하려면, wsmapping 명령을 ${profile_root}/bin 디렉토리에서 실행합니다. 완료되면 데이터베이스 테이블이 작성되거나 업데이트됩니다. 메시지와 오류는 로그 설정에 지정된 대로 관리 콘솔에 로그됩니다.
wsmapping.sh . . . Windows:
예제
Magazine.java 파일에 필요한 데이터베이스 테이블을 작성하려면 다음을 수행하십시오.
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
${profile_root}/bin/wsmapping.sh Magazine.java
![[IBM i]](../images/iseries.gif)
${profile_root}/bin/wsmapping Magazine.java
![[Windows]](../images/windows.gif)
${profile_root}\bin\wsmapping.sh Magazine.java
Magazine.java에 대한 테이블을 삭제하려면 다음을 수행하십시오.
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
C:\> %profile_root%/bin/wsmapping.sh -sa dropDB Magazine.java
![[IBM i]](../images/iseries.gif)
C:\> %profile_root%/bin/wsmapping -sa dropDB Magazine.java
![[Windows]](../images/windows.gif)
C:\> %profile_root%\bin\wsmapping.bat -sa dropDB Magazine.java
클래스 경로의 모든 엔티티에 대한 맵핑을 유효성 검증하려면 다음을 수행하십시오.
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
C:\> %profile_root%/bin/wsmapping.sh -a validate
![[IBM i]](../images/iseries.gif)
C:\> %profile_root%/bin/wsmapping -a validate
![[Windows]](../images/windows.gif)
C:\> %profile_root%\bin\wsmapping.bat -a validate
추가 정보
자세한 정보 및 예는 Apache OpenJPA 사용자 안내서에서 맵핑 정보를 참조하십시오.