前のトピック: セッションの EclipseLink プロパティ次のトピック: APPC エージェント


スキーマの EclipseLink プロパティ

スキーマ生成を設定するために、persistence.xml ファイルで EclipseLink JPA 永続性ユニット プロパティを定義できます。

eclipselink.ddl-generation

JPA エンティティに対して使用するデータ定義言語(DDL)生成アクションを指定します。 DDL 生成ターゲットを指定するには、「eclipselink.ddl-generation.output-mode」を参照してください。

persistence.xml ファイルでは以下の値を使用できます。

以下の値が org.eclipse.persistence.config.PersistenceUnitProperties に対して有効です。

Java SE 環境で永続性を使用する場合で、テーブルを作成することなく DDL ファイルを作成する場合は、Java システム プロパティ INTERACT_WITH_DB を定義し、その値を false に設定します。

デフォルト: 以下のいずれかです。

例:

persistence.xml file<property value="create-tables"/>例: property Mapimport org.eclipse.persistence.config.PersistenceUnitProperties;propertiesMap.put(PersistenceUnitProperties.DDL_GENERATION, PersistenceUnitProperties.CREATE_ONLY);

eclipselink.application-location

EclipseLink が、生成された DDL ファイルを書き込む場所を指定します。 eclipselink.ddl-generationnone 以外に設定すると、ファイルが書き込まれます。

値: ユーザが書き込みアクセス権を持つディレクトリへのファイル指定。 ファイル指定は、現在の作業ディレクトリに対して相対的に指定するか、または絶対的に指定できます。 ファイル区切り記号で終了していない場合、EclipseLink は、お使いのオペレーティング システムで有効な区切り記号を追加します。

デフォルト: 以下のいずれかです。

"."+File.separator

または

<tt>PersistenceUnitProperties.DEFAULT_APP_LOCATION</tt>

例:

persistence.xml file<property value="C:\ddl\"/>例: property Mapimport org.eclipse.persistence.config.PersistenceUnitProperties;propertiesMap.put(PersistenceUnitProperties.APP_LOCATION, "C:\ddl\");

eclipselink.create-ddl-jdbc-file-name

EclipseLink が生成する DDL ファイルのファイル名を指定します。このファイルには、JPA エンティティ用のテーブルを作成するための SQL ステートメントが含まれます。 eclipselink.ddl-generation に create-tables または drop-and-create-tables が設定されている場合、このファイルは、eclipselink.application-location によって指定されている場所に書き込まれます。

有効な値: お使いのオペレーティング システムで有効なファイル名。 eclipselink.application-location + eclipselink.create-ddl-jdbc-file-name の連結が、お使いのオペレーティング システムで有効なファイル指定の場合、必要に応じて、ファイル名の前にファイル パスを付けます。

例:

persistence.xml file<property value="create.sql"/>例: property Mapimport org.eclipse.persistence.config.PersistenceUnitProperties;propertiesMap.put(PersistenceUnitProperties.CREATE_JDBC_DDL_FILE, "create.sql"); 

デフォルト値: createDDL.jdbc または PersistenceUnitProperties.DEFAULT_CREATE_JDBC_FILE_NAME

eclipselink.drop-ddl-jdbc-file-name

EclipseLink が生成する DDL ファイルのファイル名を指定します。このファイルには、JPA エンティティ用のテーブルをドロップするための SQL ステートメントが含まれます。 eclipselink.ddl-generation に drop-and-create-tables が設定されている場合、このファイルは、eclipselink.application-location によって指定されている場所に書き込まれます。

有効な値: お使いのオペレーティング システムで有効なファイル名。 eclipselink.application-location + eclipselink.drop-ddl-jdbc-file-name の連結が、お使いのオペレーティング システムで有効なファイル指定の場合、ファイル名の前にファイル パスを付けることができます。

例:

persistence.xml file<property value="drop.sql"/>例: property Mapimport org.eclipse.persistence.config.PersistenceUnitProperties;propertiesMap.put(PersistenceUnitProperties.DROP_JDBC_DDL_FILE, "drop.sql"); 

デフォルト値: dropDDL.jdbc または PersistenceUnitProperties.DEFAULT_DROP_JDBC_FILE_NAME

eclipselink.ddl-generation.output-mode

DDL 生成ターゲットを指定するには、このプロパティを使用します。

有効な値:

persistence.xml ファイルで使用される有効な値は以下のとおりです。

both

SQL ファイルを生成し、データベースに対して実行します。

eclipselink.ddl-generation に「create-tables」が設定されている場合、eclipselink.create-ddl-jdbc-file-name が eclipselink.application-location に書き込まれ、データベースに対して実行されます。

eclipselink.ddl-generation に「drop-and-create-tables」が設定されている場合、eclipselink.create-ddl-jdbc-file-nameeclipselink.drop-ddl-jdbc-file-nameeclipselink.application-location に書き込まれます。 両方の SQL ファイルがデータベースに対して実行されます。

database

データベースに対してのみ SQL を実行します(SQL ファイルを生成しません)。

sql-script

SQL ファイルの生成のみ行います(データベースに対して実行しません)。

eclipselink.ddl-generation に「create-tables」が設定されている場合、eclipselink.create-ddl-jdbc-file-nameeclipselink.application-location に書き込まれます。 コマンドはデータベースに対して実行されません。

eclipselink.ddl-generation に「drop-and-create-tables」が設定されている場合、eclipselink.create-ddl-jdbc-file-nameeclipselink.drop-ddl-jdbc-file-nameeclipselink.application-location に書き込まれます。 どちらもデータベースに対して実行されません。 以下の値が org.eclipse.persistence.config.PersistenceUnitProperties に対して有効です。

  • DDL_BOTH_GENERATION - 「both」を参照してください。
  • DDL_DATABASE_GENERATION - 「database」を参照してください。
  • DDL_SQL_SCRIPT_GENERATION - 「sql-script」を参照してください。

例:

persistence.xml file<property value="database"/>例: property Mapimport org.eclipse.persistence.config.PersistenceUnitProperties;propertiesMap.put(PersistenceUnitProperties.DDL_GENERATION_MODE, PersistenceUnitProperties.DDL_DATABASE_GENERATION);

コンテナまたは Java EE モードのデフォルトは {{database}} です。

注: この設定は、コンテナと特定の EclipseLink サポートによって上書きされます。 詳細については、コンテナのドキュメントを参照してください。 ブートストラップまたは Java SE モード: both または PersistenceUnitProperties.DDL_BOTH_GENERATION