0

休止状態のhbmファイルを使用して、この以下の質問に対するより良いアプローチを誰かが共有できますか?

Vehicle、Car という 2 つのクラスと、Vehicles および Car という 2 つのテーブルがあるとします。すべての車、バスなどにあると思われる一般的なフィールドを持つ車両。

車用の DomainObject を作成しようとしています:

  1. 車は車両を拡張しますか? もしそうなら、Car hbm ファイル内で Vehicle クラスを宣言し、Car オブジェクトが保存されたときに両方のデータが保存される方法を教えてもらえますか?

  2. 2 hbm の個別のファイル (車、車両) を持つことができ、Car クラスでクラス (自家用車) を宣言し、このオブジェクトを Car クラスの一部として構築し、カスケードを使用して Car クラスを保存できます。

誰かがどのアプローチが良いかを提案できますか? 両方のテーブルにデータを保存する必要があります。

4

1 に答える 1

0

テーブルを 1 つ使用するか 2 つ使用するかの違いは、主に好みによるものですが、次のことを考慮に入れます。

  • 任意のタイプのすべての車両をクエリするかどうか
  • すべての車両タイプに共通 (継承) される属性の数
  • あなたが話している車の数(たくさんある場合は、別の表の方が速いかもしれません)

1 つのテーブルでそれを行いたい場合は、識別子フィールド (このページで説明されているように) を使用して、レコードがどのサブクラスであるかを識別できます。これがHibernateのドキュメントです。

于 2012-02-15T21:06:52.303 に答える