永続性: プラグイン: Empressディクショナリの構成
このページには、Empressディクショナリの属性が表示されます。
構成オプション
名前 説明 Char型の名前 java.sql.Types.CHARによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
Outer Join句 左外部結合を表現するSQL句です。
Binary型の名前 java.sql.Types.BINARYによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
Clob型の名前 java.sql.Types.CLOBによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
Distinct句でロックをサポート trueに設定されている場合、DISTINCT句を含むSQL select文内でFOR UPDATE句がデータベースでサポートされます。
ロックのシミュレート このプロパティをtrueに設定すると、ペシミスティックなロック・マネージャでトランザクションを実行している場合に、ロード時のデータベースでKodoによるレコードのロックがバイパスされます。一部のデータベースではペシミスティックなロックがサポートされていないため、それらのデータベースでは、このプロパティをtrueに設定しないと、Kodo内でペシミスティックなトランザクションを実行しようとしたときに例外が発生します。また、このプロパティをtrueに設定するということは、データベースでペシミスティックなトランザクションのセマンティクスが取得されないことも意味します。
システム表 ディクショナリで無視する必要がある表名のカンマ区切りのリストです。
Concatenate関数 2つの文字列を連結するSQL関数呼出しまたは演算です。2つの引数は、トークン{0}と{1}で表します。関数または演算の結果、文字列{1}が文字列{0}の末尾に連結されます。
副関数名 副関数名。
問合せタイムアウトのサポート trueに設定されている場合、JDBCドライバによってjava.sql.Statement.setQueryTimeoutの呼出しがサポートされます。
BlobでSet Bytesを使用 trueに設定されている場合、ディクショナリはPreparedStatement.setBinaryStreamではなくPreparedStatement.setBytesを使用してblobデータを設定します。
制約名の最大長 制約名の最大文字数です。
検索エスケープ 検索エスケープ。
カスケード更新アクションのサポート trueに設定されている場合、CASCADE外部キー更新アクションがデータベースでサポートされます。
文字列長関数 文字列の長さを取得するSQL関数呼出しです。引数はトークン{0}で表します。
Long Varbinary型の名前を取得 Long Varbinary型の名前を取得します。
一意制約のサポート trueに設定されている場合、一意制約がデータベースでサポートされます。
制限削除アクションのサポート trueに設定されている場合、RESTRICT外部キー削除アクションがデータベースでサポートされます。
Trim Leading関数 文字列の先頭から任意の数のみ特定の文字を削除するSQL関数呼出しです。ノート: 一部のデータベースでは、文字を指定することができません。その場合、削除できるのはスペースのみとなります。文字(指定できる場合)を表すにはトークン{1}を使用し、文字列を表すにはトークン{0}を使用します。
デフォルトの削除アクションをサポート trueに設定されている場合、SET DEFAULT外部キー削除アクションがデータベースでサポートされます。
次の順序の問合せ ネイティブな順序の値を取得するためのSQL文字列です。順序名に{0}のプレースホルダを使用できます。たとえば、Oracleの場合は"SELECT {0}.NEXTVAL FROM DUAL"を使用します。
Long Varchar型の名前 java.sql.Types.LONGVARCHARによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
Cross Join句 クロス結合(デカルト積)を表現するSQL句です。
組込みClobの最大サイズ -1より大きい値に設定されている場合、insertまたはupdate文の中でデータベースに直接送信できるCLOB値の最大サイズを示します。MaxEmbeddedClobSizeより大きいサイズの値に設定されている場合、OpenJPAで強制的にこの制限が回避されます。-1の値に設定されている場合、制限はありません。
Date型の名前 java.sql.Types.DATEによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
表の取得のスキーマをサポート trueに設定されている場合、表名に対するスキーマ・リフレクションへのスキーマ名の使用がデータベース・ドライバでサポートされます。
列の削除による表の変更をサポート trueに設定されている場合、ALTER TABLE文での列の削除がデータベースでサポートされます。
現在時刻関数 データベースから現在の時刻を取得するSQL関数呼出しです。
Cross Joinの条件が必要 trueに設定されている場合、クロス結合を表現するすべてのSQL文内に常に条件句を含める必要があります。
Ref型の名前 Ref型の名前。
連結のデリミタ このプロパティは使用しません。
カタログ・セパレータ スキーマ名と表名の間を区切るためにデータベースで使用される文字列。
Mod演算子のサポート trueに設定されている場合、MOD関数のかわりにモジュロ演算子(%)がデータベースでサポートされます。
スキーマ・ケース スキーマ・コンポーネントに関するデータベース・メタデータに問い合せる際に、大文字を使用するか小文字を使用するかを指定します。指定できる値は、upper、lowerおよびpreserveです。
Javaオブジェクト型の名前 java.sql.Types.JAVAOBJECTによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
ドライバ・ベンダー 一部のディクショナリでは、ドライバのベンダーに応じて動作を変更する必要があります。多くの場合、このプロパティはディクショナリの独自のロジックに基づいて設定されます。このロジックをオーバーライドする場合は、ディクショナリのJavadocにVENDOR_XXX定数が定義されていればそれを参照してください。
複数表でのロックをサポート trueに設定されている場合、複数の表から選択するSQL select文内でFOR UPDATE句がデータベースでサポートされます。
列名の最大長 列名の最大文字数です。
Double型の名前 java.sql.Types.DOUBLEによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
ClobでGet Stringを使用 trueに設定されている場合、ディクショナリはResultSet.getCharacterStreamではなくResultSet.getStringを使用してclobデータを取得します。
Decimal型の名前 java.sql.Types.DECIMALによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
Smallint型の名前 java.sql.Types.SMALLINTによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
日付の精度 データベースに格納できる時間値の精度(ナノ秒単位)です。通常、この値は1,000,000です。これは、データベースに格納できる時間値の精度が1ミリ秒であることを意味します。データベースによっては、これより精度の高い値または低い値に設定されています。KodoとOpenJPAでは、すべての時間値をこの精度に丸めてからデータベースに格納します。
列の追加による表の変更をサポート trueに設定されている場合、ALTER TABLE文での新しい列の追加がデータベースでサポートされます。
Bit型の名前 java.sql.Types.BITによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
列の取得でNull表をサポート trueに設定されている場合、すべての表での情報取得を最適化する方法として、DatabaseMetaData.getColumnsにnullパラメータを渡すことがデータベースでサポートされます。
大文字に変換関数 文字列を大文字に変換するSQL関数呼出しです。引数はトークン{0}で表します。
終了索引の選択をサポート trueに設定されている場合、最初のN件の結果のみを戻すSQL select文がデータベースでサポートされます。
自動割当のサポート trueに設定されている場合、列の自動割当がサポートされ、データベースへの行の挿入時に列の値が自動的に割り当てられます。
大きな数値を文字列として格納 trueに設定されている場合、大きな値(BigInteger型およびBigDecimal型のJavaフィールド)が、可能なかぎり文字列値としてデータベースに格納されます。マッピング・ツールでも同様に、BigInteger型またはBigDecimal型のフィールドが、可能なかぎり文字の列にマッピングされます。多くのデータベースでは、数値列に格納できる桁数に上限(たとえば、Oracleは最大38桁)が設けられているため、アプリケーションによってはこのオプションが必要になります。なお、このオプションを有効にすると、Kodoで、列に対して意味のある数値の問合せを実行できなくなる可能性があります。
制約名モード 制約名モード。
Bulk句の別名を許可 trueに設定されている場合、SQLのdeleteおよびupdate文で表の別名を使用できます。
更新のための選択をサポート trueに設定されている場合、即時ロック(FOR UPDATE)句を含むSQL select文がデータベースでサポートされます。
Distinct Count列セパレータ データベースで、SELECT COUNT (DISTINCT列リスト)句内の列式の間を区切るために使用する文字列です。ほとんどのデータベースのデフォルトはnullです。これは、それらのデータベースにおいて、DISTINCTを指定したCOUNT句内で複数の列がサポートされないことを意味します。
副選択のサポート trueに設定されている場合、副選択句を含むSQL select文がデータベースでサポートされます。
Time型の名前 java.sql.Types.TIMEによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
型の名前を自動割当 自動増分列に使用する列タイプのデフォルト名です。たとえば、PostgreSQLでは"BIGSERIAL"です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
BlobでGet Objectを使用 trueに設定されている場合、ディクショナリはResultSet.getBinaryStreamではなくResultSet.getObjectを使用してblobデータを取得します。
自動割当名の最大長 自動増分列に使用する順序の名前の最大文字数です。この値より長い名前は切り詰められます。
検証SQL データベースへの接続がまだ正常に機能していることを検証するためのSQLです。SQL文によるデータベースへの負荷は最低限に抑えられています。
Struct型の名前 java.sql.Types.STRUCTによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
Varchar型の名前 java.sql.Types.VARCHARによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
範囲位置 戻される結果行の範囲がある場合に、SQL select文内でその範囲を指定する位置を示します。戻される結果行の数を、問合せの条件を満たすすべての結果行のサブセットに限定する場合、範囲指定句の位置はデータベースによって異なります。指定できる値とその効果を確認するには、org.apache.openjpa.jdbc.sql.DBDictionaryクラスのソース・コードを参照してください。
制限された更新アクションをサポート trueに設定されている場合、RESTRICT外部キー更新アクションがデータベースでサポートされます。
Auto Assign句 自動割当列を作成するSQL文の列定義に追加するためのマジック・ワードです。たとえば、MySQLの場合は"AUTO_INCREMENT"です。マッピング・ツールでスキーマが生成される場合にのみ使用します。
複数の非トランザクション結果セットをサポート trueに設定されている場合、データベースへのトランザクション非対応JDBC接続において、開かれているResultSetインスタンスを複数持つことができます。
ビット長関数 このプロパティは使用しません。
主キーの作成 trueに設定されている場合、識別子のデータベース主キーが作成されます。
Null型の名前 java.sql.Types.NULLによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
Float型の名前 java.sql.Types.FLOATによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
BlobでGet Bytesを使用 trueに設定されている場合、ディクショナリはResultSet.getBinaryStreamではなくResultSet.getBytesを使用してblobデータを取得します。
Tableタイプ スキーマ・リフレクション時に表を検索する際に使用する表タイプのカンマ区切りリストです。JDBCメソッドjava.sql.DatabaseMetaData.getTableInfoで定義します。たとえば、"TABLE"や"TABLE,VIEW,ALIAS"のようになります。
Numeric型の名前 java.sql.Types.NUMERICによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
Update句の表 即時ロックを取得する問合せ内で、各表別名の最後に追加する句です。
Integer型の名前 java.sql.Types.INTEGERによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
Blob型の名前 java.sql.Types.BLOBによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
For Update句 即時ロックを取得する問合せを発行するためにSQL select文に追加する句です。通常はFOR UPDATE句です。
Boolean型の名前 java.sql.Types.BOOLEANによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
主キーでGet Best Row識別子を使用 trueに設定されている場合、メタデータ問合せはDatabaseMetaData.getPrimaryKeysではなくDatabaseMetaData.getBestRowIdentifierを使用して主キーに関する情報を取得します。
外部キーのサポート trueに設定されている場合、外部キーがデータベースでサポートされます。
Drop Table SQL 表を削除するために使用されるSQL文です。表名の引数としてトークン{0}を使用します。
ClobでSet Stringを使用 trueに設定されている場合、ディクショナリはPreparedStatement.setCharacterStreamではなくPreparedStatement.setStringを使用してclobデータを設定します。
Order句でロックをサポート trueに設定されている場合、ORDER BY句を含むSQL select文内でFOR UPDATE句がデータベースでサポートされます。
プラットフォーム このディクショナリが対象とするデータベースの名前です。
固定サイズ・タイプ名 データベースによって定義されたサイズを持つ追加データベース・タイプのカンマ区切りリストです。つまり、固定サイズ・タイプの列が宣言されている場合、ユーザーがそのサイズを定義することはできません。通例は、DATE、FLOATおよびINTEGERです。データベース・ディクショナリは、それぞれ独自の固定サイズ・タイプ名の内部セット(fixedSizeTypeNameSet)を備えています。この内部セットには、上記以外にも様々な名前が含まれています。このプロパティに追加した名前は、ディクショナリの内部セットにも追加されます。
文字を数値として格納 trueに設定されている場合、Javaのcharフィールドが、可能なかぎりCHAR値ではなく数値として格納されます。
表あたりの最大索引数 1つの表に配置できる最大索引数です。
比較にはキャストが必要 trueに設定されている場合、型が異なる2つの値の比較または2つのリテラルの比較において、生成されたSQL内でのキャストが必要になります。
Havingのサポート trueに設定されている場合、SQL select文内でHAVING句がデータベースでサポートされます。
外部結合でロックをサポート trueに設定されている場合、外部結合句を含むSQL select文内で、FOR UPDATE句がデータベースでサポートされます。
相関副選択のサポート trueに設定されている場合、相関副選択がデータベースでサポートされます。相関副選択は、select文内にネストされたselect文であり、外側のselect文の列を参照します。パフォーマンス上の理由から、相関副選択は最後の手段として使用するのが一般的です。
インポート・キーの取得でNull表をサポート trueに設定されている場合、すべての表での情報取得を最適化する方法として、DatabaseMetaData.getImportedKeysにnullパラメータを渡すことがデータベースでサポートされます。
Bigint型の名前 java.sql.Types.BIGINTによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
最後に生成されたキー問合せ 自動増分列について、最後に自動生成されたキーを取得するために発行される問合せです。たとえば、MySQLでは"SELECT LAST_INSERT_ID()"です。
予約語 データベースの予約語(標準のSQL92キーワード以外)のカンマ区切りリストです。
Null更新アクションのサポート trueに設定されている場合、SET NULL外部キー更新アクションがデータベースでサポートされます。
スキーマ名の使用 trueに設定されている場合、ディクショナリは表名とともにスキーマ名を使用してSQLを生成します。
遅延制約のサポート trueに設定されている場合、遅延制約がサポートされます。データベースは、トランザクション内で各SQL文を受け取った直後に制約違反をチェックするのではなく、トランザクションのコミット時に制約違反をチェックすることにより遅延制約をサポートしています。
Real型の名前 java.sql.Types.REALによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
副選択で別名が必要 trueに設定されている場合、FROM句内の副選択に別名を割り当てる必要があります。
索引情報の取得でNull表をサポート trueに設定されている場合、すべての表での情報取得を最適化する方法として、DatabaseMetaData.getIndexInfoにnullパラメータを渡すことがデータベースでサポートされます。
Trim Trailing関数 文字列の末尾から任意の数のみ特定の文字を削除するSQL関数呼出しです。ノート: 一部のデータベースでは、文字を指定することができません。その場合、削除できるのはスペースのみとなります。文字(指定できる場合)を表すにはトークン{1}を使用し、文字列を表すにはトークン{0}を使用します。
選択範囲でのロックをサポート trueに設定されている場合、LIMIT、TOPまたはデータベース固有の同等の句を使用してデータの範囲を選択するSQL select文内で、FOR UPDATE句がサポートされます。
ストレージの致命的制限 trueに設定されている場合、データベースに値を格納するためにディクショナリによって実行されるデータの切捨てまたは丸めが、致命的なエラーとして処理されます。それ以外の場合は、ディクショナリによって警告が生成されます。
内部結合でロックをサポート trueに設定されている場合、内部結合句を含むSQL select文内で、FOR UPDATE句がデータベースでサポートされます。
Current Timestamp関数 データベースから現在のタイムスタンプを取得するSQL関数呼出しです。
Cast関数 値を別のSQLタイプにキャストするSQL関数呼出しです。2つの引数は、トークン{0}と{1}で表します。この関数を実行すると、値{0}が{1}型に変換されます。
その他の型の名前 java.sql.Types.OTHERによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
索引名の最大長 索引名の最大文字数です。
Distinct型の名前 java.sql.Types.DISTINCTによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
文字列サイズ VARCHAR列とCHAR列のデフォルト・サイズです。通常は255です。
Varbinary型の名前 java.sql.Types.VARBINARYによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
表名の最大長 表名の最大文字数です。
Close Pool SQL プールの停止時にデータベースに対して発行される特別なコマンドです。通常、アプリケーションの終了時には、データベースへの接続のプールを閉じます。アプリケーションとほぼ同一のライフサイクルを持つ組込みデータベースの場合、データベースを正常に閉じるための特別なコマンド(通常は"SHUTDOWN")が用意されています。
Current Date関数 データベースから現在の日付を取得するSQL関数呼出しです。
結合構文 select文で使用するSQLの結合構文のスタイルです。
sql92
- ANSI SQL92の結合構文。結合はSQLのFROM句で表します。外部結合を使用できます。この構文は一部のデータベースではサポートされていません。traditional
- 従来のSQL結合構文。結合はSQLのWHERE句で表します。外部結合は使用できません。database
- 結合構文はデータベースのディクショナリ・クラス内である程度までエンコードされます。外部結合を使用できる場合があります。組込みBlobの最大サイズ -1より大きい値に設定されている場合、insertまたはupdate文の中でデータベースに直接送信できるBLOB値の最大サイズを示します。MaxEmbeddedBlobSizeより大きいサイズの値に設定されている場合、OpenJPAでは強制的にこの制限が回避されます。-1の値に設定されている場合、制限はありません。
Trim Both関数 文字列の先頭と末尾の両方から任意の数のみ特定の文字を削除するSQL関数呼出しです。ノート: 一部のデータベースでは、文字を指定することができません。その場合、削除できるのはスペースのみとなります。文字(指定できる場合)を表すにはトークン{1}を使用し、文字列を表すにはトークン{0}を使用します。
開始索引の選択をサポート trueに設定されている場合、最初のN個の結果をスキップするSQL select文がデータベースでサポートされます。
小文字に変換関数 文字列を小文字に変換するSQL関数呼出しです。引数はトークン{0}で表します。
Array型の名前 java.sql.Types.ARRAYによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
Inner Join句 内部結合を表現するSQL句です。
デフォルトの更新アクションをサポート trueに設定されている場合、SET DEFAULT外部キー更新アクションがデータベースでサポートされます。
列の取得のスキーマをサポート trueに設定されている場合、列名でのスキーマ・リフレクションへのスキーマ名の使用がデータベース・ドライバでサポートされます。
Tinyint型の名前 java.sql.Types.TINYINTによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
主キーの取得でNull表をサポート trueに設定されている場合、すべての表での情報取得を最適化する方法として、DatabaseMetaData.getPrimaryKeysにnullパラメータを渡すことがデータベースでサポートされます。
システム・スキーマ 無視する必要があるスキーマ名のカンマ区切りリストです。
算術関数にはキャストが必要 trueに設定されている場合、型が異なる2つの値の演算または2つのリテラルの演算において、生成されたSQLでのキャストが必要になります。
Null削除アクションのサポート trueに設定されている場合、SET NULL外部キー削除アクションがデータベースでサポートされます。
メタ・データには自動コミットが必要 trueに設定されている場合、JDBCドライバの要件として、自動コミットを有効にしていないとスキーマ問合せ処理を実行できません。
Timestamp型の名前 java.sql.Types.TIMESTAMPによって示される列タイプのデフォルト名です。この名前はマッピング・ツールでスキーマを生成するときに使用されます。
初期化SQL DataSourceから取得した接続を初期化するSQL文です。通常、ディクショナリではこれを使用してJDBCの不具合が回避されます。
カスケード削除アクションのサポート trueに設定されている場合、CASCADE外部キー削除アクションがデータベースでサポートされます。