Package nablarch.core.db.dialect
Class SqlServerDialect
java.lang.Object
nablarch.core.db.dialect.DefaultDialect
nablarch.core.db.dialect.SqlServerDialect
- All Implemented Interfaces:
Dialect
SqlServer用のSQL方言クラス。
- Author:
- tani takanori
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classSQLServer用のResultSet変換クラス。 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvertCountSql(String sql) SQL文をレコード数取得用のSQL文に変換する。ping用のSQL文を返す。ResultSetから値を取得するための変換クラスを返却する。booleanisDuplicateException(SQLException sqlException) SQL例外が一意制約違反による例外か否か。booleanisTransactionTimeoutError(SQLException sqlException) SQL例外がトランザクションタイムアウトと判断すべき例外か否か。booleanIDENTITY(オートインクリメントカラム)が使用できるか否か。Methods inherited from class nablarch.core.db.dialect.DefaultDialect
buildSequenceGeneratorSql, convertCountSql, convertPaginationSql, supportsIdentityWithBatchInsert, supportsOffset, supportsSequence
-
Constructor Details
-
SqlServerDialect
public SqlServerDialect()
-
-
Method Details
-
supportsIdentity
public boolean supportsIdentity()IDENTITY(オートインクリメントカラム)が使用できるか否か。 SQLServerは、identityカラムが定義できるのでtrueを返す。- Specified by:
supportsIdentityin interfaceDialect- Overrides:
supportsIdentityin classDefaultDialect- Returns:
falseを返す。
-
isDuplicateException
SQL例外が一意制約違反による例外か否か。 キー重複(エラーコード:2627)及びユニークインデックスの値重複(エラーコード:2601)の場合に、 重複エラーとする。- Specified by:
isDuplicateExceptionin interfaceDialect- Overrides:
isDuplicateExceptionin classDefaultDialect- Parameters:
sqlException- SQL例外- Returns:
falseを返す。
-
isTransactionTimeoutError
SQL例外がトランザクションタイムアウトと判断すべき例外か否か。 クエリーの実行キャンセルを表すSQLState(HY008)の場合のみトランザクションタイムアウト対象の例外とする。- Specified by:
isTransactionTimeoutErrorin interfaceDialect- Overrides:
isTransactionTimeoutErrorin classDefaultDialect- Parameters:
sqlException- SQL例外- Returns:
falseを返す。
-
getResultSetConvertor
ResultSetから値を取得するための変換クラスを返却する。全てのカラムを
ResultSet.getObject(int)で取得するコンバータを返す。varbinary(max)で定義されたカラムの場合は、ResultSet.getBinaryStream(int)の結果を返す、 ResultSetの変換クラスを返却する。- Specified by:
getResultSetConvertorin interfaceDialect- Overrides:
getResultSetConvertorin classDefaultDialect- Returns:
- 変換クラス。
-
convertCountSql
SQL文をレコード数取得用のSQL文に変換する。 以下形式のCOUNT文取得用SQL文に変換する。
SELECT COUNT(*) COUNT_ FROM ('引数のSQL') SUB_SQLServerは、インラインビュー内にORDER BYを記述することが出来ない。 このため、レコード数取得のSQLに変換する際にSQLの一番最後に存在しているORDER BYを削除後に 件数取得用のSQLに変換する。- Specified by:
convertCountSqlin interfaceDialect- Overrides:
convertCountSqlin classDefaultDialect- Parameters:
sql- SQL文- Returns:
- 変換したSQL文
-
getPingSql
Description copied from class:DefaultDialectping用のSQL文を返す。 データベースへの死活チェックを行うための、ping用SQL文を生成する。 デフォルト実装では、本メソッドはサポートしない。- Specified by:
getPingSqlin interfaceDialect- Overrides:
getPingSqlin classDefaultDialect- Returns:
- ping用のSQL文
-