4

なんで ?

大きな Oracle テーブルがあります。いくつかの DAO メソッドをテストしたいと思います。そのために、dbunit を使用します。

問題

SQL クエリを使用して、既存のデータベースのサブセットを dbunit フラット xml ファイルとして抽出したいと考えています。クエリの例:

Select 
      t1.field1 as field1, t1.field2 as field2, t2.field3 as field3
From 
       table1 t1
       Join table2 t2 on t1.fieldX=t2.fieldX
Where 
       t1.field6='value' and t2.field8='value2'

この場合、クエリの結果である table1 と table2 のすべてのレコードを抽出し、これらのレコードのすべての依存関係も抽出します。

私が試したこと

  1. 看守

良いツールであるJailerをテストしました。問題は、1 つのテーブルに対してしかクエリを実行できず、関係を維持しながら抽出できることです。私のSQLクエリには、このソフトウェアを使用して解決できないいくつかの結合と場所条件があります。

  1. DBUnit の生成

また、DBUnit を直接使用してデータセットを生成しようとしましたが、SQL クエリからサブセットを直接生成することはできず、各テーブルで一連の小さなクエリを指定するだけで済むため、多くの作業が必要です。私は多くの結合と場所の条件を持っているので、それは受け入れられる解決策ではありません.

質問

エクスポートのベースとしてSQL クエリを使用して、データベースのサブセットを生成する (および dbunit フラット xml ファイルにエクスポートする) 方法は?

4

1 に答える 1

2

あなたが望むものはDBUnitの範囲外かもしれないと思います。

これを行う最善の方法は、結合を処理し、そこからデータを引き出す一連のビューを設定することです。ビューを取得したら、SQL クエリを使用してデータを引き出すことができます。

于 2013-01-10T17:32:54.477 に答える