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