Package nablarch.core.db.dialect
Class OracleDialect
java.lang.Object
nablarch.core.db.dialect.DefaultDialect
nablarch.core.db.dialect.OracleDialect
- All Implemented Interfaces:
- Dialect
Oracle用の方言を吸収するためのクラスです。
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbuildSequenceGeneratorSql(String sequenceName) シーケンスオブジェクトの次の値を取得するSQL文を構築する。convertPaginationSql(String sql, SelectOption selectOption) SQL文を変換せずに返す。ping用のSQL文を返す。全てのカラムをResultSet.getObject(int)で取得するコンバータを返す。booleanisDuplicateException(SQLException sqlException) SQL例外が一意制約違反による例外かどうか判定する。booleanisTransactionTimeoutError(SQLException sqlException) SQL例外がトランザクションタイムアウトと判断すべき例外か否か。booleanSQL文でのオフセット指定が使用できるか否かbooleanシーケンスはサポートする。Methods inherited from class nablarch.core.db.dialect.DefaultDialectconvertCountSql, supportsIdentity, supportsIdentityWithBatchInsert
- 
Constructor Details- 
OracleDialectpublic OracleDialect()コンストラクタ。
 
- 
- 
Method Details- 
isTransactionTimeoutErrorSQL例外がトランザクションタイムアウトと判断すべき例外か否か。 Oracleデータベースの場合、以下例外の場合タイムアウト対象の例外として扱う。- エラーコード:1013(クエリタイムアウト時に送出される例外)
 - Specified by:
- isTransactionTimeoutErrorin interface- Dialect
- Overrides:
- isTransactionTimeoutErrorin class- DefaultDialect
- Parameters:
- sqlException- SQL例外
- Returns:
- falseを返す。
 
- 
supportsOffsetpublic boolean supportsOffset()SQL文でのオフセット指定が使用できるか否か Oracle11g以前のバージョンでは、offset構文をサポートしていないが、 rownum擬似列を用いてoffset-limit同等のことが実現できるため、trueを返却する。- Specified by:
- supportsOffsetin interface- Dialect
- Overrides:
- supportsOffsetin class- DefaultDialect
- Returns:
- falseを返す。
 
- 
supportsSequencepublic boolean supportsSequence()シーケンスはサポートする。- Specified by:
- supportsSequencein interface- Dialect
- Overrides:
- supportsSequencein class- DefaultDialect
- Returns:
- true固定
 
- 
buildSequenceGeneratorSqlシーケンスオブジェクトの次の値を取得するSQL文を構築する。- Specified by:
- buildSequenceGeneratorSqlin interface- Dialect
- Overrides:
- buildSequenceGeneratorSqlin class- DefaultDialect
- Parameters:
- sequenceName- シーケンス名
- Returns:
- シーケンスオブジェクトの次の値を取得するSQL文
 
- 
getResultSetConvertorDescription copied from class:DefaultDialect全てのカラムをResultSet.getObject(int)で取得するコンバータを返す。- Specified by:
- getResultSetConvertorin interface- Dialect
- Overrides:
- getResultSetConvertorin class- DefaultDialect
- Returns:
- 変換クラス。
 
- 
isDuplicateExceptionSQL例外が一意制約違反による例外かどうか判定する。 SQL例外が一意制約違反による例外の場合true- Specified by:
- isDuplicateExceptionin interface- Dialect
- Overrides:
- isDuplicateExceptionin class- DefaultDialect
- Parameters:
- sqlException- SQL例外
- Returns:
- errorCode が 1の場合true.
 
- 
convertPaginationSqlSQL文を変換せずに返す。 ページングの条件を元に、取得レコードをフィルタリングするSQLに変換する。 Oracleでは、offsetやlimitはサポートされていないため(Oracle12c以降ではサポートはされている)、 rownum擬似列を使用して取得レコード数のフィルタリングを行うSQL文に変換を行う。- Specified by:
- convertPaginationSqlin interface- Dialect
- Overrides:
- convertPaginationSqlin class- DefaultDialect
- Parameters:
- sql- SQL文
- selectOption- 検索時のオプション
- Returns:
- 変換したSQL文
 
- 
getPingSqlDescription copied from class:DefaultDialectping用のSQL文を返す。 データベースへの死活チェックを行うための、ping用SQL文を生成する。 デフォルト実装では、本メソッドはサポートしない。- Specified by:
- getPingSqlin interface- Dialect
- Overrides:
- getPingSqlin class- DefaultDialect
- Returns:
- ping用のSQL文
 
 
-