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または- Mapの- List- JPQLによる更新・削除 - (update|delete|remove).*- JPQLに含まれるパラメータの並び - voidまたは- int(更新または削除された行数)- SQLによる挿入・更新・削除 - (insert|update|delete|remove).*- SQLに含まれるパラメータの並び - voidまたは- int(更新または削除された行数)

 
    
            