Class DefaultDialect

java.lang.Object
nablarch.core.db.dialect.DefaultDialect
All Implemented Interfaces:
Dialect
Direct Known Subclasses:
DB2Dialect, H2Dialect, OracleDialect, PostgreSQLDialect, SqlServerDialect

@Published(tag="architect") public class DefaultDialect extends Object implements Dialect
デフォルトのDialect実装クラス。

本実装では、全ての方言が無効化される。

  • Constructor Details

    • DefaultDialect

      public DefaultDialect()
  • Method Details

    • supportsIdentity

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

      Specified by:
      supportsIdentity in interface Dialect
      Returns:
      falseを返す。
    • supportsIdentityWithBatchInsert

      public boolean supportsIdentityWithBatchInsert()
      Description copied from interface: Dialect
      batch insert時にIDENTITY(オートインクリメントカラム)が使用できるか否か。
      Specified by:
      supportsIdentityWithBatchInsert in interface Dialect
      Returns:
      falseを返す。
    • supportsSequence

      public boolean supportsSequence()
      Description copied from interface: Dialect
      SEQUENCEが使用できるか否か。

      Specified by:
      supportsSequence in interface Dialect
      Returns:
      falseを返す。
    • supportsOffset

      public boolean supportsOffset()
      Description copied from interface: Dialect
      SQL文でのオフセット指定が使用できるか否か
      Specified by:
      supportsOffset in interface Dialect
      Returns:
      falseを返す。
    • isTransactionTimeoutError

      public boolean isTransactionTimeoutError(SQLException sqlException)
      Description copied from interface: Dialect
      SQL例外がトランザクションタイムアウトと判断すべき例外か否か。
      Specified by:
      isTransactionTimeoutError in interface Dialect
      Parameters:
      sqlException - SQL例外
      Returns:
      falseを返す。
    • isDuplicateException

      public boolean isDuplicateException(SQLException sqlException)
      Description copied from interface: Dialect
      SQL例外が一意制約違反による例外か否か。

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

      public ResultSetConvertor getResultSetConvertor()
      ResultSetから値を取得するための変換クラスを返却する。

      全てのカラムをResultSet.getObject(int)で取得するコンバータを返す。

      Specified by:
      getResultSetConvertor in interface Dialect
      Returns:
      変換クラス。
    • buildSequenceGeneratorSql

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

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

      Specified by:
      buildSequenceGeneratorSql in interface Dialect
      Parameters:
      sequenceName - シーケンス名
      Returns:
      シーケンスオブジェクトの次の値を取得するSQL文
      Throws:
      UnsupportedOperationException - 呼び出された場合
    • convertPaginationSql

      public String convertPaginationSql(String sql, SelectOption selectOption)
      SQL文を変換せずに返す。
      Specified by:
      convertPaginationSql in interface Dialect
      Parameters:
      sql - SQL文
      selectOption - 検索時のオプション
      Returns:
      変換したSQL文
    • convertCountSql

      public String convertCountSql(String sql)
      SQL文をレコード数取得用のSQL文に変換する。

      以下形式のCOUNT文取得用SQL文に変換する。
      SELECT COUNT(*) COUNT_ FROM ('引数のSQL') SUB_

      Specified by:
      convertCountSql in interface Dialect
      Parameters:
      sql - SQL文
      Returns:
      変換したSQL文
    • convertCountSql

      public String convertCountSql(String sqlId, Object condition, StatementFactory statementFactory)
      SQLIDからレコード数取得用のSQL文を取得する。 デフォルトでは、{@link this#convertCountSql(String)}を使用して、 StatementFactoryから取得したSQLをレコード数取得用SQLに変換する。
      Specified by:
      convertCountSql in interface Dialect
      Parameters:
      sqlId - SQLID
      condition - 可変条件に設定される条件をもつオブジェクト
      statementFactory - ステートメントファクトリ
      Returns:
      レコード数取得用のSQL文
    • getPingSql

      public String getPingSql()
      ping用のSQL文を返す。

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

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