wsreversemapping 명령

wsreversemapping 도구는 데이터베이스 스키마에서 지속 클래스 정의와 메타데이터를 생성합니다.

구문

명령을 실행하기 전에 클래스 경로에 persistence.xml 파일의 사본을 배치하거나 -p [path_to_persistence.xml] 인수에서 특성 파일로 지정해야 합니다. 다음에서 명령을 실행하세요.bin 하위 디렉토리 프로필_루트 예배 규칙서.

명령 구문은 다음과 같습니다.

[Linux][AIX][HP-UX][Solaris]
wsreversemapping.sh [parameters][arguments]
[Windows]
wsreversemapping.bat [parameters][arguments]

매개변수

wsreversemapping 도구는 다음과 함께 구성 프레임워크로 정의된 표준 명령행 인수 세트를 허용합니다.
  • -schemas/-s<스키마 및 테이블 이름> : XML 스키마 파일이 제공되지 않은 경우 wsreversmapping 도구를 실행하기 위한 쉼표로 구분된 스키마 및 테이블 이름 목록입니다.

    목록의 각 요소는 openjpa.jdbc.Schemas 특성의 이름 지정 규칙을 준수해야 합니다. 이 매개변수 플래그가 생략되는 경우 해당 기본값은 Schemas 특성입니다. Schemas 특성이 정의되지 않으면 모든 스키마가 역방향으로 맵핑됩니다.

  • -package/-p<패키지 이름> : 생성된 클래스의 패키지 이름입니다.

    패키지 이름이 지정되지 않으면 생성된 코드에 패키지 선언이 포함되지 않습니다.

  • -directory/-d<출력 디렉터리> : 생성된 모든 코드와 메타데이터는 이 경로의 디렉터리에 기록됩니다.

    경로가 클래스 패키지와 일치하지 않는 경우 패키지 구조는 이 디렉토리 바로 아래에 작성됩니다. 이 매개변수의 기본값은 현재 디렉토리입니다.

  • -useSchemaName/-sn<사실/t | 거짓/f>: 이 매개변수 플래그를 다음으로 설정합니다. 진실 생성된 각 클래스의 이름에 스키마와 테이블 이름을 포함합니다.

    이 메소드는 이름이 동일한 테이블을 갖는 여러 스키마를 처리할 때 유용합니다.

  • -useForeignKeyName/-fkn<사실/t | 거짓/f>: 이 매개변수 플래그를 다음으로 설정합니다. 진실 관계의 필드 이름이 데이터베이스 외래 키 이름을 기반으로 하도록 하려는 경우.

    관계 필드 이름은 기본적으로 관련 클래스의 이름에서 파생됩니다.

  • -nullableAsObject/-no<사실/t | 거짓/f> : 기본적으로 외래 키가 아닌 모든 열은 기본 형식에 매핑됩니다.

    널값을 지원하는 열 대신 프리미티브 랩퍼 필드를 생성하려면 이 매개변수 플래그를 true로 설정하십시오.

  • -blobAsObject/-bo<사실/t | 거짓/f> : 기본적으로 모든 이진 열은 byte[] 필드에 매핑됩니다.

    이 열을 대신 Object 필드로 맵핑하려면 이 매개변수 플래그를 true로 설정하십시오.

    주목: 이러한 방식으로 매핑되면 열은 직렬화된 Java™ 개체를 포함하는 것으로 추정됩니다.
  • -primaryKeyOnJoin/pkj<사실/t | 거짓/f> : 표준 역방향 매핑 도구 동작은 기본 키가 있는 모든 테이블을 영구 클래스에 매핑하는 것입니다.

    스키마의 많은 결합 테이블에도 1차 키가 있는 경우 해당 테이블에 대한 클래스를 작성하지 않으려면 이 플래그를 true로 설정하십시오.

  • -inverseRelations/-ir<사실/t | 거짓/f>: 이 매개변수 플래그를 다음으로 설정합니다. 거짓 감지된 모든 다대일 또는 일대일 관계에 대해 역일대다 또는 일대일 관계가 생성되는 것을 방지합니다.
  • -useDatastoreIdentity/-ds<사실/t | 거짓/f>: 로 설정 진실 단일 숫자 기본 키 열이 있는 테이블에 대해 데이터 저장소 ID를 사용합니다.

    일반적으로 이 도구는 생성된 모든 클래스에 애플리케이션 ID를 사용합니다.

  • -useBuiltinIdentityClass/-bic<사실/t | 거짓/f>: 이 매개변수 플래그를 다음으로 설정합니다. 거짓 가능한 경우 wsreversemapping 도구가 내장 애플리케이션 ID 클래스를 사용하지 못하도록 방지합니다.

    이렇게 하면 1차 키 열이 하나뿐인 경우에도 도구를 사용하여 사용자 정의 애플리케이션 ID 클래스를 작성합니다.

  • -innerIdentityClasses/-inn<사실/t | 거짓/f>: 이 매개변수 플래그를 다음으로 설정합니다. 진실 생성된 애플리케이션 ID를 영구 클래스 내에서 정적 내부 클래스로 생성하도록 분류합니다.

    기본 설정은 false입니다.

  • -identityClassSuffix/-is<접미사> : 응용 프로그램 ID 클래스 이름을 형성하기 위해 클래스 이름에 추가하거나 내부 ID 클래스의 경우 내부 클래스 이름을 추가하는 접미사입니다.

    기본 접미사는 다음과 같습니다.Id.

  • -typeMap/-typ<타입 매핑> : 스키마에 표시되는 각 SQL 유형에 대해 생성할 기본 Java 클래스를 지정하는 문자열입니다.

    형식은 SQLTYPE1=JavaClass1, SQLTYPE2=JavaClass2입니다. SQL 유형 이름은 먼저 SQLTYPE(SIZE,PRECISION) 기반 사용자 정의를 찾고 이어 SQLTYPE(SIZE), SQLTYPE 기반 사용자 정의를 찾습니다. CHAR 유형을 가진 열이 있는 경우 이 열은 먼저 CHAR(50,0) 유형 이름 스펙을 찾고 이어 CHAR(50), 마지막으로 CHAR을 찾습니다. 예를 들어, 정확한 크기가 50자인 모든 char 열에 대한 char 배열을 생성하고 모든 유형 이름 INTEGER의 short를 생성하려면 CHAR(50)=char[],INTEGER=short를 지정해야 합니다.

    주목: 다양한 데이터베이스는 서로 다른 유형 이름을 다르게 보고하며, 한 데이터베이스 유형이 다른 데이터베이스에서는 작동하지 않을 수 있습니다. JPA for WebSphere Application Server가 검사하는 유형 이름을 추적하려면 MetaData 채널에 대한 TRACE 레벨 로깅을 활성화하십시오.
  • -customizerClass/-cc<수업 이름>: 클래스의 전체 이름 org.apache.openjpa.jdbc.meta.ReverseCustomizer 사용자 정의 플러그인.

    역방향 사용자 정의기를 직접 지정하지 않는 경우 시스템 기본값은 PropertiesReverseCustomizer입니다. 이 사용자 정의기는 -customizerProperties 플래그를 사용하여 해당 특성 파일에 단순 사용자 정의 옵션을 지정합니다.

    • -customizerProperties/-cp<속성 파일 또는 리소스> : 초기화 시 역방향 맞춤설정 도구에 전달할 속성 파일의 경로 또는 리소스 이름입니다.
    • -customizer/-c<속성 이름> <속성값>: 주어진 속성 이름은 지정된 리버스 커스터마이저의 해당 Java Bean 속성과 일치하고 지정된 값으로 설정됩니다.

사용법

wsreversemapping 도구는 엔티티 소스 파일로의 데이터베이스 테이블 역방향(상향식) 맵핑을 수행하는 데 사용됩니다. 이 도구는 개발자가 다른 JPA 응용프로그램에서 사용할 Java 파일을 데이터베이스에서 생성하려는 경우 유용합니다. 이 도구를 실행하려면 다음을 수행하십시오.
  • 데이터베이스 테이블과 데이터베이스 연결을 구성해야 합니다.
  • 명령행에서 $ {profile_root}/bin 디렉토리에 wsreversemapping 도구를 실행하십시오.
  • 이 도구는 모든 클래스에 대한 .java 파일과 XML 디스크립터 파일 orm.xml을 함께 생성합니다.
wsreversemapping 도구에서 생성된 Java 파일을 응용프로그램에서 사용하려면 일부 편집 작업을 수행해야 합니다. 또한 생성된 파일에는 어노테이션이 포함되지 않습니다. 어노테이션을 수동으로 추가할 수 있습니다. 메시지와 오류는 구성에 지정된 대로 관리 콘솔에 로그됩니다.

schema.xml 파일에 저장된 정보에 기초하여 엔티티를 생성합니다. Schema.xml은 스키마 도구를 실행하여 작성되었습니다. Java 파일은 src 디렉토리에 작성되며 com.xyz 패키지를 사용합니다.

[Linux][AIX][HP-UX][Solaris]
${profile_root}/bin/wsreversemapping.sh -pkg com.xyz -d ./src schema.xml
[Windows]
${profile_root}\bin\wsreversemapping.bat -pkg com.xyz -d ./src schema.xml

정보를 기반으로 엔터티를 생성합니다. DB2® 데이터 베이스. 엔티티는 src 디렉토리에 작성되며 com.reversemapped 패키지를 사용합니다.

[Linux][AIX][HP-UX][Solaris]
C:\> %profile_root%/bin/wsreversemapping.bat -sa dropDB Magazine.javapkg com.reversemapped -d src 
-connectionDriverName=com.ibm.db2.jcc.DB2Driver -connectionURL=jdbc:db2:localhost:50000/TEST 
-connectionUser=db2User -connectionPassword=db2Password 
[Windows]
C:\> %profile_root%\bin\wsreversemapping.bat -sa dropDB Magazine.javapkg com.reversemapped -d src 
-connectionDriverName=com.ibm.db2.jcc.DB2Driver -connectionURL=jdbc:db2:localhost:50000/TEST 
-connectionUser=db2User -connectionPassword=db2Password 

추가 정보

자세한 정보는 Apache OpenJPA 사용자 안내서의 맵핑 절을 참조하십시오.