Interface DaoContext

All Known Implementing Classes:
BasicDaoContext

@Published(tag="architect") public interface DaoContext
UniversalDaoの実行コンテキスト。

ページネーションのためのページ数などを状態としてもつ必要があるので、 このコンテキストを介してSQLの実行処理が行われる。

Author:
kawasima, Hisaaki Shioiri
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> void
    batchDelete(List<T> entities)
    エンティティオブジェクトを元に一括削除処理を行う。
    <T> void
    batchInsert(List<T> entities)
    エンティティオブジェクトの情報を一括で登録する。
    <T> void
    batchUpdate(List<T> entities)
    エンティティオブジェクトの情報を元に一括更新を行う。
    <T> long
    countBySqlFile(Class<T> entityClass, String sqlId, Object params)
    SQL_IDをもとに結果件数を取得する。
    検索結果の取得を遅延させる。
    <T> int
    delete(T entity)
    エンティティオブジェクトを元に削除処理を行う。
    <T> EntityList<T>
    findAll(Class<T> entityClass)
    全件の検索を行う。
    <T> EntityList<T>
    findAllBySqlFile(Class<T> entityClass, String sqlId)
    SQL_IDをもとに検索を行う。
    <T> EntityList<T>
    findAllBySqlFile(Class<T> entityClass, String sqlId, Object params)
    SQL_IDをもとにバインド変数を展開して検索処理を行う。
    <T> T
    findById(Class<T> entityClass, Object... id)
    プライマリーキーによる検索を行う。
    <T> T
    findByIdOrNull(Class<T> entityClass, Object... id)
    プライマリーキーによる検索を行う。
    <T> T
    findBySqlFile(Class<T> entityClass, String sqlId, Object params)
    SQL_IDをもとに1件検索を行う。
    <T> T
    findBySqlFileOrNull(Class<T> entityClass, String sqlId, Object params)
    SQL_IDをもとに1件検索を行う。
    <T> void
    insert(T entity)
    エンティティオブジェクトを元に登録処理を行う。
    page(long page)
    ページングの何ページ目を検索するかを指定する。
    per(long per)
    ページングの1ページにつき何件表示するかを指定する。
    <T> int
    update(T entity)
    エンティティオブジェクトを元に更新処理を行う。
  • Method Details

    • findById

      <T> T findById(Class<T> entityClass, Object... id)
      プライマリーキーによる検索を行う。
      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entityClass - エンティティクラス
      id - プライマリーキー (複合キーの場合は定義順)
      Returns:
      エンティティオブジェクト
    • findByIdOrNull

      <T> T findByIdOrNull(Class<T> entityClass, Object... id)
      プライマリーキーによる検索を行う。
      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entityClass - エンティティクラス
      id - プライマリーキー (複合キーの場合は定義順)
      Returns:
      エンティティオブジェクト。0件の場合はnull。
    • findAll

      @Published <T> EntityList<T> findAll(Class<T> entityClass)
      全件の検索を行う。
      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entityClass - エンティティクラス
      Returns:
      検索結果リスト。0件の場合は空リスト。
    • findAllBySqlFile

      @Published <T> EntityList<T> findAllBySqlFile(Class<T> entityClass, String sqlId, Object params)
      SQL_IDをもとにバインド変数を展開して検索処理を行う。
      Type Parameters:
      T - 検索結果をマッピングするBeanクラスの型
      Parameters:
      entityClass - 検索結果をマッピングするBeanクラス
      sqlId - SQL_ID
      params - バインド変数
      Returns:
      検索結果リスト。0件の場合は空リスト。
    • findAllBySqlFile

      @Published <T> EntityList<T> findAllBySqlFile(Class<T> entityClass, String sqlId)
      SQL_IDをもとに検索を行う。
      Type Parameters:
      T - 検索結果をマッピングするBeanクラスの型
      Parameters:
      entityClass - 検索結果をマッピングするBeanクラス
      sqlId - SQL_ID
      Returns:
      検索結果リスト。0件の場合は空リスト。
    • findBySqlFile

      <T> T findBySqlFile(Class<T> entityClass, String sqlId, Object params)
      SQL_IDをもとに1件検索を行う。
      Type Parameters:
      T - 検索結果をマッピングするBeanクラスの型
      Parameters:
      entityClass - 検索結果をマッピングするBeanクラス
      sqlId - SQL_ID
      params - バインド変数
      Returns:
      エンティティオブジェクト
    • findBySqlFileOrNull

      <T> T findBySqlFileOrNull(Class<T> entityClass, String sqlId, Object params)
      SQL_IDをもとに1件検索を行う。
      Type Parameters:
      T - 検索結果をマッピングするBeanクラスの型
      Parameters:
      entityClass - 検索結果をマッピングするBeanクラス
      sqlId - SQL_ID
      params - バインド変数
      Returns:
      エンティティオブジェクト。0件の場合はnull。
    • countBySqlFile

      <T> long countBySqlFile(Class<T> entityClass, String sqlId, Object params)
      SQL_IDをもとに結果件数を取得する。
      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entityClass - エンティティクラス
      sqlId - SQL_ID
      params - バインド変数
      Returns:
      件数
    • update

      <T> int update(T entity) throws jakarta.persistence.OptimisticLockException
      エンティティオブジェクトを元に更新処理を行う。

      エンティティの主キーが更新条件となる。

      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entity - エンティティオブジェクト
      Returns:
      更新件数
      Throws:
      jakarta.persistence.OptimisticLockException - バージョン不一致で更新対象が存在しない場合
    • batchUpdate

      <T> void batchUpdate(List<T> entities)
      エンティティオブジェクトの情報を元に一括更新を行う。

      update(Object)とは異なり、一括更新処理ではバージョン不一致チェックは行わない。 例えば、バージョン番号が変更になっていた場合はそのレコードのみ更新されずに処理は正常に終了する。 バージョン番号のチェックを必要とする場合には、update(Object)を使用すること。

      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entities - 更新対象のエンティティリスト
    • insert

      <T> void insert(T entity)
      エンティティオブジェクトを元に登録処理を行う。
      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entity - エンティティオブジェクト
    • batchInsert

      <T> void batchInsert(List<T> entities)
      エンティティオブジェクトの情報を一括で登録する。
      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entities - エンティティリスト
    • delete

      <T> int delete(T entity)
      エンティティオブジェクトを元に削除処理を行う。

      エンティティの主キーが削除条件となる。

      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entity - エンティティオブジェクト
      Returns:
      削除件数
    • batchDelete

      <T> void batchDelete(List<T> entities)
      エンティティオブジェクトを元に一括削除処理を行う。

      エンティティの主キーが削除条件となる。

      Type Parameters:
      T - エンティティクラスの型
      Parameters:
      entities - エンティティリスト
    • page

      DaoContext page(long page)
      ページングの何ページ目を検索するかを指定する。
      Parameters:
      page - ページ番号(1-origin)
      Returns:
      DaoContextがそのまま返る。
    • per

      DaoContext per(long per)
      ページングの1ページにつき何件表示するかを指定する。
      Parameters:
      per - ページ内表示件数
      Returns:
      DaoContextがそのまま返る。
    • defer

      DaoContext defer()
      検索結果の取得を遅延させる。
      Returns:
      DaoContextがそのまま返る。