クラス SQLErrorCodesFactory

java.lang.ObjectSE
org.springframework.jdbc.support.SQLErrorCodesFactory

public class SQLErrorCodesFactory extends ObjectSE
DatabaseMetaDataSE から取得した "databaseProductName" に基づいて SQLErrorCodes を作成するためのファクトリ。

"sql-error-codes.xml" という名前の構成ファイルで定義されたベンダーコードが入力された SQLErrorCodes を返します。クラスパスのルート(たとえば、"/WEB-INF/classes" ディレクトリ)にあるファイルによってオーバーライドされていない場合は、このパッケージのデフォルトファイルを読み取ります。

作成者:
Thomas Risberg, Rod Johnson, Juergen Hoeller
関連事項:
  • フィールドの詳細

    • SQL_ERROR_CODE_OVERRIDE_PATH

      public static final StringSE SQL_ERROR_CODE_OVERRIDE_PATH
      クラスパスのルートから(たとえば、"/WEB-INF/classes" ディレクトリから)ロードするカスタム SQL エラーコードファイルの名前。
      関連事項:
    • SQL_ERROR_CODE_DEFAULT_PATH

      public static final StringSE SQL_ERROR_CODE_DEFAULT_PATH
      クラスパスからロードするデフォルトの SQL エラーコードファイルの名前。
      関連事項:
  • コンストラクターの詳細

    • SQLErrorCodesFactory

      protected SQLErrorCodesFactory()
      SQLErrorCodesFactory クラスの新しいインスタンスを作成します。

      シングルトン設計パターンを実施するために非公開。loadResource(String) メソッドのオーバーライドによるテストを許可する場合を除き、プライベートになります。

      アプリケーションコードでサブクラス化しないでください。

      関連事項:
  • メソッドの詳細

    • getInstance

      public static SQLErrorCodesFactory getInstance()
      シングルトンインスタンスを返します。
    • loadResource

      @Nullable protected Resource loadResource(StringSE path)
      クラスパスから特定のリソースをロードします。

      静的 getInstance() メソッドからこのクラスのインスタンスを取得する必要があるアプリケーション開発者によってオーバーライドされることはありません。

      テスト容易性のために保護されています。

      パラメーター:
      path - リソースパス。カスタムパス、または SQL_ERROR_CODE_DEFAULT_PATH または SQL_ERROR_CODE_OVERRIDE_PATH のいずれか。
      戻り値:
      リソース、またはリソースが見つからなかった場合は null 
      関連事項:
    • getErrorCodes

      public SQLErrorCodes getErrorCodes(StringSE databaseName)
      指定されたデータベースの SQLErrorCodes インスタンスを返します。

      データベースのメタデータ検索は不要です。

      パラメーター:
      databaseName - データベース名 (null であってはなりません)
      戻り値:
      指定されたデータベースの SQLErrorCodes インスタンス (決して null; 空の可能性がある)
      例外:
      IllegalArgumentExceptionSE - 指定されたデータベース名が null の場合
    • getErrorCodes

      public SQLErrorCodes getErrorCodes(DataSourceSE dataSource)
      指定された DataSourceSESQLErrorCodes を返し、DatabaseMetaDataSE から "databaseProductName" を評価します。SQLErrorCodes が見つからなかった場合は、空のエラーコードインスタンスを返します。
      パラメーター:
      dataSource - データベースを識別する DataSource 
      戻り値:
      対応する SQLErrorCodes オブジェクト (決して null; 空の可能性がある)
      関連事項:
    • resolveErrorCodes

      @Nullable public SQLErrorCodes resolveErrorCodes(DataSourceSE dataSource)
      指定された DataSourceSESQLErrorCodes を返し、DatabaseMetaDataSE から "databaseProductName" を評価します。JDBC メタデータアクセスの問題の場合は null を返します。
      パラメーター:
      dataSource - データベースを識別する DataSource 
      戻り値:
      対応する SQLErrorCodes オブジェクト、または JDBC メタデータアクセスの問題の場合は null 
      導入:
      5.2.9
      関連事項:
    • registerDatabase

      public SQLErrorCodes registerDatabase(DataSourceSE dataSource, StringSE databaseName)
      指定されたデータベース名を指定された DataSourceSE に関連付けます。
      パラメーター:
      dataSource - データベースを識別する DataSource 
      databaseName - エラーコード定義ファイルに記載されている対応するデータベース名 (null であってはなりません)
      戻り値:
      対応する SQLErrorCodes オブジェクト (非 null)
      関連事項:
    • unregisterDatabase

      @Nullable public SQLErrorCodes unregisterDatabase(DataSourceSE dataSource)
      登録されている場合、指定された DataSourceSE のキャッシュをクリアします。
      パラメーター:
      dataSource - データベースを識別する DataSource 
      戻り値:
      削除された対応する SQLErrorCodes オブジェクト、または登録されていない場合は null 
      導入:
      4.3.5
      関連事項: