2012-04-24 8 views
1

私は、Hibernate HQL criteriaクエリをテストする簡単な方法を探しています。私はIntelliJのHibernate Consoleサポートを使ってみましたが、私はrun into problemsでした。テストHibernateクエリ

HQLクエリを簡単にテストするスタンドアロンツールはありますか?セッションファクトリを作成し、引数として渡されたクエリを実行する単純なコンソールプログラムで十分です。

答えて

0

コンテナにH2(JDBCインメモリ)データベースとjettyを使用して、ビルドのユニットテストフェーズ(またはJUnit)でハイバネートクエリを実行するコンテナとコンテキストを作成できます。

0

JUnit approchを試すことができます。

0

コンソールを使用することは、HQLで遊ぶための私の最初の選択です(例:Hibernate Tools、eclipse)。しかし、それがうまくいかない場合は、JUnitを使用します。私のチームは、この戦略を使用して、プロダクションコードで使用するHQLクエリをテストし、時には最初にクエリを書くのに役立ちます。

テストセットアップでは、メモリ内のデータベースを設定します(HSQLDBを使用しますが、他にもあります)。 Hibernateまたは生のSQLを使用してデータを挿入します。その後、Hibernate SessionFactoryを設定してそれに接続し、HQLを実行します。

他の種類のHibernateの設定や動作をテストするためにもこれを使用します。また、Hibernateの目的のための完全なテストスイートであるという副次的な利点があります。予期せぬ方法。

0

このようなツールを別のアプリケーションとして使用することはできませんが、休止状態の設定(Spring Context内にある可能性があります)を指定する必要があり、クラスとそのHBMファイルを見つけることができるはずです。さらに、別のUserTypesなどを他のJARのものと同じように使うかもしれないので、私もそれを探しません。

私にとっては、単体テストフレームワーク+ IDEのデバッグ機能です。セッションが作成された時点で停止して、このモードで必要なものを実行できます。たとえばIntelliJでは、通常の式とは別に、デバッグ中にCriteria APIで役立つコードフラグメントを配置することができます。

0

前回私はこの種の作業をしなければなりませんでした。私はDbUnitを使用して、JPA 2.0とHibernateを使用していたデータアクセスレイヤーをテストしました。