Class DB2Dialect

java.lang.Object
nablarch.core.db.dialect.DefaultDialect
nablarch.core.db.dialect.DB2Dialect
All Implemented Interfaces:
Dialect

@Published(tag="architect") public class DB2Dialect extends DefaultDialect
DB2用の方言クラス。
Author:
hisaaki sioiri
  • Constructor Details

    • DB2Dialect

      public DB2Dialect()
  • Method Details

    • supportsIdentity

      public boolean supportsIdentity()
      IDENTITY(オートインクリメントカラム)が使用できるか否か。

      DB2では、IDENTITY属性が使えるのでtrueを返す。

      Specified by:
      supportsIdentity in interface Dialect
      Overrides:
      supportsIdentity in class DefaultDialect
      Returns:
      falseを返す。
    • supportsSequence

      public boolean supportsSequence()
      SEQUENCEが使用できるか否か。

      DB2では、シーケンスオブジェクトが使えるのでtrueを返す。

      Specified by:
      supportsSequence in interface Dialect
      Overrides:
      supportsSequence in class DefaultDialect
      Returns:
      falseを返す。
    • isDuplicateException

      public boolean isDuplicateException(SQLException sqlException)
      SQL例外が一意制約違反による例外か否か。

      SQLException.getSQLState()が23505(一意制約違反)の場合、一意制約違反とする。

      Specified by:
      isDuplicateException in interface Dialect
      Overrides:
      isDuplicateException in class DefaultDialect
      Parameters:
      sqlException - SQL例外
      Returns:
      falseを返す。
    • isTransactionTimeoutError

      public boolean isTransactionTimeoutError(SQLException sqlException)
      SQL例外がトランザクションタイムアウトと判断すべき例外か否か。

      DB2では、以下のSQLStateの場合にトランザクションタイムアウト対象の例外と判断する。

      • 57014:(SQL0952N:割り込みによる処理の取消)
      Specified by:
      isTransactionTimeoutError in interface Dialect
      Overrides:
      isTransactionTimeoutError in class DefaultDialect
      Parameters:
      sqlException - SQL例外
      Returns:
      falseを返す。
    • buildSequenceGeneratorSql

      public String buildSequenceGeneratorSql(String sequenceName)
      シーケンスオブジェクトの次の値を取得するSQL文を構築する。

      シーケンス採番はサポートしない。

      「VALUES NEXTVAL FOR」を使用して次の値を取得するSQL文を構築する。

      Specified by:
      buildSequenceGeneratorSql in interface Dialect
      Overrides:
      buildSequenceGeneratorSql in class DefaultDialect
      Parameters:
      sequenceName - シーケンス名
      Returns:
      シーケンスオブジェクトの次の値を取得するSQL文
    • getPingSql

      public String getPingSql()
      Description copied from class: DefaultDialect
      ping用のSQL文を返す。

      データベースへの死活チェックを行うための、ping用SQL文を生成する。 デフォルト実装では、本メソッドはサポートしない。

      Specified by:
      getPingSql in interface Dialect
      Overrides:
      getPingSql in class DefaultDialect
      Returns:
      ping用のSQL文