Class EntityUtil

java.lang.Object
nablarch.common.dao.EntityUtil

@Published(tag="architect") public final class EntityUtil extends Object
エンティティに関するユーティリティクラス。
Author:
kawasima, Hisaaki Shioiri
  • Method Details

    • getTableName

      public static String getTableName(Class<?> entityClass)
      エンティティクラスからテーブル名を取得する。
      Parameters:
      entityClass - エンティティクラス
      Returns:
      テーブル名
    • getSchemaName

      public static String getSchemaName(Class<?> entityClass)
      エンティティクラスからスキーマ名を取得する。
      Parameters:
      entityClass - エンティティクラス
      Returns:
      スキーマ名
    • getTableNameWithSchema

      public static String getTableNameWithSchema(Class<?> entityClass)
      エンティティクラスからスキーマ名を修飾したテーブル名("スキーマ名.テーブル名"形式)を取得する。

      スキーマを持たないテーブルの場合、テーブル名のみを返す。

      Parameters:
      entityClass - エンティティクラス
      Returns:
      スキーマ名を修飾したテーブル名
    • findIdColumns

      public static List<ColumnMeta> findIdColumns(Class<?> entityClass)
      エンティティクラスからIDカラムの情報を全て取得する。
      Parameters:
      entityClass - エンティティクラス
      Returns:
      IDカラム情報
    • findIdColumns

      public static <T> Map<ColumnMeta,Object> findIdColumns(T entity)
      エンティティからIDカラムの情報と、その値を全て取得する。

      値はColumnMeta.getJdbcType()の型に変換されて返される。

      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entity - エンティティオブジェクト
      Returns:
      IDカラム情報と値
    • findAllColumns

      public static List<ColumnMeta> findAllColumns(Class<?> entityClass)
      エンティティクラスから全カラムの情報を取得する。
      Parameters:
      entityClass - エンティティクラス
      Returns:
      全カラムの情報
    • findAllColumns

      public static <T> Map<ColumnMeta,Object> findAllColumns(T entity)
      エンティティから全カラムの情報と、その値を取得する。

      値はColumnMeta.getJdbcType()の型に変換されて返される。

      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entity - エンティティ
      Returns:
      全カラムの情報と値
    • findVersionColumn

      public static <T> ColumnMeta findVersionColumn(T entity)
      バージョンカラムの情報を取得する。

      バージョンカラムが定義されていない場合はnullを返す。

      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entity - エンティティ
      Returns:
      バージョン情報を保持するカラムの情報
    • findGeneratedValueColumn

      public static <T> ColumnMeta findGeneratedValueColumn(T entity)
      エンティティからGeneratedValueが設定されたカラムを取得する。

      採番対象のカラムが定義されていない場合はnullを返す。

      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entity - エンティティ
      Returns:
      採番対象のカラムの情報
    • findGeneratedValueColumn

      public static <T> ColumnMeta findGeneratedValueColumn(Class<T> entityClass)
      エンティティクラスからGeneratedValueが設定されたカラムを取得する。

      採番対象のカラムが定義されていない場合はnullを返す。

      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entityClass - エンティティクラス
      Returns:
      採番対象のカラムの情報
    • createEntity

      public static <T> T createEntity(Class<T> entityClass, SqlRow row)
      検索結果を元にエンティティオブジェクトを生成する。
      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entityClass - 生成するエンティティのクラス
      row - 検索結果の1レコード
      Returns:
      エンティティオブジェクト
      Throws:
      RuntimeException - エンティティクラスのプロパティにサポート外の型が定義されている場合
      BeansException - エンティティオブジェクトの生成に失敗した場合
    • findEntityMeta

      protected static EntityMeta findEntityMeta(Class<?> entityClass)
      エンティティクラスに対応したエンティティ情報を取得する。

      キャッシュ上にエンティティ情報が存在する場合はその情報を返す。 まだキャッシュされていない場合には、エンティティ情報を生成しキャッシュに格納する。

      Parameters:
      entityClass - エンティティクラス
      Returns:
      エンティティ情報
    • clearCache

      public static void clearCache()
      キャッシュ情報をクリアする。