FAQ

一般的な質問

Domaとはどのような意味ですか?

D omain O riented Database MA pping Framework の略です。

注釈処理とはなんですか?

Java 6 で導入された Pluggable Annotation Processing API を利用した処理で、 コンパイル時のソースコード検証や、ソースコード生成が可能です。

Domaでは、注釈処理を使用して以下のことを実現しています。

  • エンティティクラスやドメインクラスのメタ情報の生成
  • Daoのインタフェースから実装クラスの生成
  • SQLファイルのバリデーション

動作環境に関する質問

どのバージョンのJREをサポートしていますか?

JER 8 以上をサポートしています。

Domaを動作させるのに必要なライブラリは何ですか?

何もありません。 DomaはJRE以外のどんなライブラリにも依存していません。

開発環境に関する質問

どのバージョンのJDKをサポートしていますか?

JDK 8 以上をサポートしています。

DomaのjarをEclipseのビルドパスに設定しましたが注釈処理が実行されません。

Factory PathにもDomaのjarファイルを登録してください。

Factory Pathの設定画面は、プロジェクトのプロパティ設定画面から、 Java - Compiler - Annotation Processing - Factory Path と辿れます。 Annotation ProcessingとFactory Pathの画面では、 「Enable project specific settings」のチェックボックスをチェックしてください。

注釈処理で生成されたコードはどこに出力されますか?

Eclipseを利用している場合、 デフォルトではプロジェクト直下の .apt_generated ディレクトリに出力されます。

Eclipseを使用していますが、.apt_generated ディレクトリがみつかりません。

単にPackage Explorerビュー上に .apt_generated ディレクトリが表示されていないだけかもしれません。 .apt_generated は、名称が . で始まっているために、 Package Explorerビューで表示対象外になります。 対応方法としては以下のいずれかを選択してください。

  • Nivigatorビューから .apt_generated ディレクトリを確認する
  • Package Explorerビューのフィルタリングの設定を変更し .apt_generated ディレクトリを表示させる
  • 出力先ディレクトリを変更し名称が . で始まらないようにする

SQLファイルが見つかりません。

SQLファイルが存在するにも関わらず、次のエラーメッセージが出力されることがあります。

[DOMA4019] SQLファイル[META-INF/../select.sql]がクラスパスから見つかりませんでした

SQLファイルはクラスの出力ディレクトリから検索されます。 SQLファイルの出力ディレクトリとクラスの出力ディレクトリが同じであることを確認してください。

Eclipseの場合、プロジェクトのプロパティの「Java Build Path」の設定画面で、 ソースフォルダごとに出力先ディレクトリを変更可能になっています。

DBアクセスライブラリとしての機能に関する質問

SQLを自動生成する機能はありますか?

はい。

更新系SQL、ストアドプロシージャー/ファンクション呼び出しについてはSQLを自動で生成できます。 検索系のSQLについては、自動生成機能はありませんが、ファイルに外部化したSQLを実行し、 その結果をJavaのオブジェクトにマッピングする機能があります。

詳しくは クエリ を参照してください。

条件が動的に変わるSQLはどのように実行できますか?

SQLファイルに、SQLコメントを使って条件を指定できます。 SQLコメントは実行時に解析され、条件によって異なるSQLが生成されます。

詳しくは SQL を参照してください。

1対1 や 1対n などデータベース上のリレーションシップをJavaオブジェクトにマッピングできますか?

いいえ、できません。

Domaでは、SQLの結果セットの1行をそのまま1つのエンティティのインスタンスにマッピングします。 このほうがシンプルでわかりやすいと考えているためです。

コネクションプーリングの機能はありますか?

いいえ、Domaでは提供していません。

コネクションプーリング機能をもつアプリケーションサーバー、フレームワーク、 ライブラリ等と組み合わせて使用してください。