About

ドキュメント

プロジェクト文書

Built by Maven

DAOインタフェース

Kuina-Daoを利用するにはDAO (Data Access Object) のインタフェースを作成します. 特殊な場合を除いてDAOの実装を作成する必要はありません.

DAOはエンティティ毎に作成することが推奨されます.

パッケージ

DAOインタフェースはSeasar2.4が提供するSMART deployの規約に従ったパッケージに配置することを推奨します. SMART deployの規約では,DAOのパッケージは次のようになります.

  • ルートパッケージ.dao

インタフェース

DAOのインタフェース名はSeasar2.4が提供するSMART deployの規約に従うことを推奨します. SMART deployの規約では,DAOのインタフェース名は次のようになります.

  • エンティティ名Dao

GenericDaoインタフェース

Kuina-Daoでは,DAOインタフェースの基本メソッドを定義したGeneric DAOインタフェースを用意しています.

  • org.seasar.kuina.dao.GenericDao<ENTITY, ID>

型変数ENTITYはDAOの操作対象となるエンティティの型, 型変数IDはDAOの操作対象となるエンティティのIDプロパティ/フィールド (主キー) の型です.

Generic DAOインタフェースを拡張すると,基本メソッド を DAOインタフェースに定義しなくても使用することが可能となります.

public interface EmployeeDao extends GenericDao<Employee, Long> {
    // カスタムメソッド
    ...
}

メソッド

DAOインタフェースにはエンティティを操作するためのメソッドを定義します. Kuina-Daoはメソッドの名前や引数・戻り値から実行すべき操作を判断します.

基本メソッド
操作 メソッド名 (正規表現) 引数 戻り値
全件取得 (get|find)All なし エンティティのList
主キーによる検索 get|find エンティティの主キー エンティティ
主キーによる検索 (リファレンスのみ) (get|find)Reference エンティティの主キー エンティティ
エンティティの永続化 persist エンティティ void
エンティティの削除 remove エンティティ void
管理されたエンティティか判定 contains エンティティ boolean (管理されたエンティティならtrue)
エンティティの分離 detach エンティティ void
エンティティのマージ merge エンティティ エンティティ
エンティティのリフレッシュ refresh エンティティ void
エンティティのリードロック readLock エンティティ void
エンティティのライトロック writeLock エンティティ void
カスタムメソッド
操作 メソッド名 (正規表現) 引数 戻り値
主キーとバージョンによる検索 get|find エンティティの主キー, バージョン エンティティ
引数を条件とする検索 (get|find).* 問い合わせ条件に含めるエンティティのプロパティの並び エンティティまたはエンティティのList
エンティティのプロパティを条件とする検索 (get|find).* エンティティ エンティティまたはエンティティのList
DTOのプロパティを条件とする検索 (get|find).* DTO エンティティまたはエンティティのList
条件式による検索 (get|find).* 条件式の並び エンティティまたはエンティティのList
JPQLによる検索 (get|find).* JPQLに含まれるパラメータの並び エンティティまたはエンティティのList
SQLによる検索 (get|find).* SQLに含まれるパラメータの並び DTOまたはDTOのListまたはMapまたはMapList
JPQLによる更新・削除 (update|delete|remove).* JPQLに含まれるパラメータの並び voidまたはint (更新または削除された行数)
SQLによる挿入・更新・削除 (insert|update|delete|remove).* SQLに含まれるパラメータの並び voidまたはint (更新または削除された行数)