Hibernate HQL 基準クエリをテストする簡単な方法を探しています。IntelliJ の Hibernate Console サポートを使用してみましたが、問題が発生しました。
HQL クエリをテストする簡単な方法を提供するスタンドアロン ツールはありますか? セッション ファクトリを作成し、引数として渡されたクエリを実行する単純なコンソール プログラムで十分です。
Hibernate HQL 基準クエリをテストする簡単な方法を探しています。IntelliJ の Hibernate Console サポートを使用してみましたが、問題が発生しました。
HQL クエリをテストする簡単な方法を提供するスタンドアロン ツールはありますか? セッション ファクトリを作成し、引数として渡されたクエリを実行する単純なコンソール プログラムで十分です。
そのようなツールを別のアプリとして持つことは可能だとは思えません。休止状態の構成 (Spring コンテキストにある可能性があります) を指定する必要があり、クラスとその HBM ファイルを見つけることができるはずです。さらに、他の JAR とは異なる UserTypes などを使用する可能性があるため、検索することさえしません。
私にとって最適なツールは、単体テスト フレームワークと IDE のデバッグ機能です。セッションを作成した時点で停止し、このモードでやりたいことを何でも実行できます。たとえば、IntelliJ では、通常の式とは別に、デバッグ中にコード フラグメントを配置できます。これは、Criteria API に役立つ可能性があります。
コンソールを使用することは、HQL ( Eclipse 用のHibernate Toolsなど) で遊ぶための最初の選択肢です。しかし、それがうまくいかない場合は、JUnit を使用します。私のチームはこの戦略を使用して、本番コードで使用する HQL クエリをテストし、場合によっては最初にクエリを作成するのを支援します。
テストのセットアップには、メモリ内データベースのセットアップが含まれます ( HSQLDBを使用しますが、他にもあります)。Hibernate または生の SQL を使用してデータを挿入します。次に、Hibernate SessionFactory を構成して接続し、HQL を実行します。
また、これを使用して他の種類の Hibernate 設定または動作をテストします。また、Hibernate の完全なテスト スイートであるという副次的な利点もあります。これにより、アップグレードして、予期しない方法で必要なものが何も変更されていないことを確信できます。
前回、この種の作業を行う必要があったときは、DbUnitを使用して、Hibernate で JPA 2.0 を使用していたデータ アクセス レイヤーをテストしました。
アプローチを試すことができJUnit
ます。