1

dbUnit のorg.dbunit.dataset.NoPrimaryKeyException. 私はクラスを持っているとしましょうA、それはSet<B>プロパティを持っていBますenum. Hibernate のhbm2ddlツールを使用してデータベース スキーマを生成し、それを使用dbUnitして、DAO ユニット テストの準備が整ったデータベースにデータを入力します。

dbUnit xml を使用してデータベースにデータを入力しようとしていますorg.dbunit.dataset.NoPrimaryKeyExceptionが、テーブルに定義したエントリA_B(Hibernate によって自動生成されたもの)を dbUnit が削除しようとすると、エラーが発生します。

次の質問で提案された解決策を見てきました: Using DbUnit with tables that not have primary keys , しかし、これには次のいずれかが必要です:

  • for each and every クラスを主キーとして定義idします (必ずしも数値ではない主キーが既に定義されています)。また
  • メソッド内のどのクラスにどの主キーを使用するかを正確に指定しますaccept

テーブル内のすべての列を使用する必要がある場合を除き、デフォルトの主キーを使用するように指定する方法はありますか?

(余談ですが、http://appfuse.org/display/APF/Java+5+Enums+Persistence+with+Hibernateで説明されている方法と同様の方法を使用して、Hibernate および JPA アノテーションを使用して列挙型を永続化します)

4

0 に答える 0