0
私は、PersonとPersonSnapshotという2つのエンティティを持っています。 PersonSnapshotはPersonと同じですが、独自の主キーがあります。新しいJPAエンティティのスナップショットを新しい主キー列で新しいテーブルに保存する方法
プロパティ名を再定義する必要がないようにJavaクラス階層を使用したいと思いますが、2つのテーブルに異なる "@Id"プロパティがあるため、それらを動作させることができません。
@Entity
@Table(name = "Person")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
class Person {
@Id
private int id;
@name
private String name;
}
私は3つのクラスで終わるだろうと一般的な属性の抽象MappedSuperClassを作成したくない
@Entity
@Table(name = "Person_Snapshot")
class PersonSnapshot extends Person {
@Id
private int snapShotId;
}
のようにそのスナップショットを保存する必要があります。これらの2つのクラスだけで同じ結果を達成する方法はありますか?
Personの変更ごとにスナップショットを作成しようとしていますか?もしそうなら、Hibernate Enversがあなたのために仕事をするかもしれません。 –
私は3つのクラスを作成しました。少なくともコードは少し保守性があります。 – DBS