About

ドキュメント

プロジェクト文書

Built by Maven

General

Kuina ってなんですか?
Kuina とは,JavaEE 5 の O/R マッピング標準である Java Persistence API (JPA) の関連プロダクトを開発する,Seasar プロジェクトのサブプロジェクトです.
[top]

Kuina-Dao ってなんですか?
Kuina-Dao とは,Java Persistence API (JPA) 上で利用可能な Data Access Object (DAO) フレームワークです.
[top]

Kuina という名前はどういう意味ですか?
Kuina (クイナ) とは,ツル目クイナ科の鳥の総称です. 沖縄本島の固有種であるヤンバルクイナにちなんで名付けられました. Seasar プロジェクトで開発されているプロダクトは,Seasar 開発者であるひがやすを氏の出身地である沖縄にゆかりのある言葉をプロダクト名に採用することが多々あります.
[top]

Kuina-Dao を利用するメリットはなんですか?
Kuina-Dao を利用することで,JPA で規定されている EntityManager のメソッドを呼び出す退屈なコードを繰り返し記述する必要がなくなります. 特に問い合わせ条件に応じて実行時に Java Persistence Query Language (JPQL) 文字列を動的に組み立てる手間を削減することが可能になります. 通常,Kuina-Dao を利用するには Dao の Java インタフェースと問い合わせを記述した orm.xml ファイルまたは .sql ファイルを用意するだけで,Java の実行文を記述する必要がないため,テストの手間を大きく削減することもできます.
[top]

Diigu

Diigu ってなんですか?
Diigu とは Java クラスまたはインタフェースのメソッドが持つ引数の名前を実行時に利用可能にするためのプロダクトです. Diigu はソースファイルから取得した引数の名前を Java5 のアノテーションとして .class ファイルに埋め込みます. このため,実行時に Kuina-Dao などのフレームワークからメソッドの引数名を利用することが可能になります.
[top]

Diigu という名前はどういう意味ですか?
Diigu (ディーグ) とは,マメ科の落葉高木「デイゴ」を表す沖縄の方言です. デイゴは沖縄の県花であることにちなんで名付けられました. Seasar プロジェクトで開発されているプロダクトは,Seasar 開発者であるひがやすを氏の出身地である沖縄にゆかりのある言葉をプロダクト名に採用することが多々あります.
[top]

なぜ Diigu が必要になるのですか?
Kuina-Dao は Dao のメソッドが持つ引数を JPQL の中の名前付きパラメータにバインドしたり,問い合わせ条件に埋め込んだりします. そのためには引数の名前を実行時に取得できる必要がありますが,Java のリフレクションでは引数名を取得することができませんし,アノテーション等で指定するのは面倒です. そこで Diigu が開発され,Kuina-Dao でも利用しています.
[top]

Diigu を Eclipse で使うにはどうすればいいですか?
Diigu を利用するための Eclipse plugin が用意されています. 以下の更新サイトからインストールすることができます. インストール後,Kuina-Dao を利用するプロジェクトを右クリックして「プロパティ」を選択し,左のペインで「Diigu」を選択,右のペインにある「Use Diigu Builder」をチェックしてください.
[top]

Diigu を Eclipse 以外の環境で使うことはできますか?
はい. Diigu を Ant から利用することもできます. 以下のサイトから Diigu-Core をダウンロードして解凍してください. 展開されたディレクトリの中に含まれる以下の Ant ビルドファイルを参考にしてください.
builder/args.xml
src/main/java ディレクトリ以下をエンハンスするためのビルドファイルです.
builder/args-text.xml
src/test/java ディレクトリ以下をエンハンスするためのビルドファイルです.
[top]

Diigu を Maven から使うことはできますか?
はい. Diigu Maven plugin が用意されています. Diigu Maven plugin の利用方法は,Seasar-Wikiの「Diigu/diigu-maven-plugin」を参考にしてください.
[top]

「Diiguで処理されていません。クリーンビルドしてください。」とか言ってきやがるんだけど?
Diigu Eclipse Plugin は Eclipse からコンパイル等によりクラスファイルが変更されたイベントを受け取ってクラスファイルをエンハンスしますが, Eclipse が全てのイベントを通知してくれるわけではなく, コンパイルによって Diigu がエンハンスした情報が消えてしまう場合がよくあります.

このメッセージが出た場合は Dao を含んだプロジェクトをクリーンビルドしてください. クリーンビルドは「Project」-「Clean」で行います.
[top]