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
メソッド
DAOインタフェースにはエンティティを操作するためのメソッドを定義します. Kuina-Daoはメソッドの名前や引数・戻り値から実行すべき操作を判断します.
操作 | メソッド名 (正規表現) | 引数 | 戻り値 |
---|---|---|---|
全件取得 | (get|find)All |
なし | エンティティのList |
主キーによる検索 | get|find |
エンティティの主キー | エンティティ |
主キーによる検索 (リファレンスのみ) | (get|find)Reference |
エンティティの主キー | エンティティ |
引数を条件とする検索 | (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 |
エンティティの永続化 | persist |
エンティティ | void |
エンティティの削除 | remove |
エンティティ | void |
JPQLによる更新・削除 | (update|delete|remove).+ |
JPQLに含まれるパラメータの並び | void またはint (更新または削除された行数) |
SQLによる挿入・更新・削除 | (insert|update|delete|remove).+ |
SQLに含まれるパラメータの並び | void またはint (更新または削除された行数) |
エンティティのマージ | merge |
エンティティ | エンティティ |
エンティティのリフレッシュ | refresh |
エンティティ | void |
エンティティのリードロック | readLock |
エンティティ | void |
エンティティのライトロック | writeLock |
エンティティ | void |