作業中の既存の Hibernate Entity 階層があります。エンティティはすでに MappedSuperClass を使用して、基本クラスからいくつかの共通フィールドを継承しています。私のシナリオでは、これらのフィールドも継承する必要があり、さらに、Hibernate の Embeddable 機能を介して構成を活用する必要があります。
たとえば、エンティティ Car は MappedSuperClass としてマークされ、エンティティ CarTypeA および CarTypeB によって拡張されます。
現在、CarTypeA と CarTypeB の間にもいくつかの共通フィールドがあり、Embeddable クラスに抽出できます (CommonCarStuff と呼びます)。CommonCarStuff は次のようになります
@Embeddable
public class CommonCar
{
private String aCommonItem;
}
このクラスを CarTypeA で使用できますが、実行時に Hibernate によって生成された INSERT クエリが正しくありません。生成する代わりに
INSERT INTO CAR_TYPE_A(A_COMMON_ITEM)..
クエリ生成状態
INSERT INTO CAR_TYPE_A(COMMON_CAR_A_COMMON_ITEM)..
この列がテーブルにマップされていないため、クエリが常に失敗します。Embedded クラスを正しく宣言しました。
誰かが私を助けてくれることを願っています。
ありがとう