Workshop では、[DbXplorer] でデータベースを操作できるだけでなく、[DbXaminer] を使用してデータベース ダイアグラムを表示したりクエリを実行したりできます。
[DbXaminer] を使用すると、特定のスキーマ、テーブル、またはカラムのデータベース ダイアグラムを表示し、テーブル、主キー、および外部キーの間の関係を描画できます。
注意 : まだ [DbXplorer] を開いていない場合は、[ウィンドウ] メニューから [ビューの表示|DbXplorer] を選択します。
[DbXaminer] には、データベース ダイアグラムの表示機能に加え、[SQL エディタ]、[EJBQL エディタ] (EJB クエリ言語の式構築用)、[HQL エディタ] (Hibernate クエリ言語の式構築用) という 3 つのクエリ エディタが用意されています。各エディタは、構文の色分け機能と、各言語のコード補完機能を備えています。
[EJBQL エディタ] および [HQL エディタ] の使用
SQL クエリ エディタを使用すると、クエリ文の定義や実行、クエリ結果の表示やソート、および新しいデータの追加が簡単に行えます。
[EJBQL エディタ] と [HQL エディタ] の機能は基本的に [SQL エディタ] と同等ですが、クエリの実行対象はデータベースではなくエンティティです。つまり、式の中ではテーブル名やカラム名ではなく、エンティティ名やプロパティ名を指定することになります。また、この節の最後に示すように、構築した EJBQL 式や HQL 式に対応する SQL 式を得る機能もエディタに備わっています。
注意 : Pointbase データベースから生成されたエンティティに対してクエリを実行できるようにするには、最初に、(<Project>/src/META-INF/ にある) persistence.xml を編集して、GenericDialect に値 org.hibernate.dialect.PointbaseDialect を設定する必要があります。
EJBQL 式を完成する
HQL 式を完成する
EJBQL クエリの結果
HQL クエリの結果
単一行を選択して、[プロパティ] ビューで設定されている情報を確認します。クエリ結果内にデータ カラムが表示される場合のみ、[プロパティ] ビューに情報が表示されます。結果を選択したときに [プロパティ] ビューに表示される値は、オブジェクトの特定のインスタンスのフィールド値です。
リストされる項目は展開することができます。選択した項目を展開すると、JPA アノテーションで定義されているエンティティの関係を詳細表示することができます。上記の例を展開するには、項目を選択します。[プロパティ] ビューに、エンティティ Bean にマップされているフィールドが表示されます。展開すると、該当のインスタンスの特定のデータを詳細表示できます。
プロパティを展開すると、エンティティ Bean とそのデータの関係を詳細表示できます。これは、アノテーションで定義されているデータの多対一関係を示しています。以上のクエリはすべて、SQL でデータベースを直接呼び出すのではなく JPA ランタイム エンジンを介して実行されます (注意 : Kodo ライセンスが無効であるにもかかわらず Kodo プロジェクトにリンクした場合、これらのクエリのいずれかを実行しようとするとエラーが発生します)。
EJBQL クエリから生成された SQL
HQL クエリから生成された SQL
EJBQL および HQL (2 つとも非常によく似ています) の詳細については、Hibernate Web サイトの「Chapter 7: EJB-QL: The Object Query Language」を参照してください。
Hibernate オブジェクト リレーショナル マッピングの生成