0
1つのJPA/Hibernateエンティティを多数のデータベーステーブルに格納する方法はありますか?1つのエンティティと複数のDBテーブル
たとえば、継承されたエンティティ(複数のエンティティのタイプ)を単一のデータベーステーブルに格納する方法がありますが、私の質問はこれと逆です。
1つのJPA/Hibernateエンティティを多数のデータベーステーブルに格納する方法はありますか?1つのエンティティと複数のDBテーブル
たとえば、継承されたエンティティ(複数のエンティティのタイプ)を単一のデータベーステーブルに格納する方法がありますが、私の質問はこれと逆です。
はい、1つのエンティティを複数のデータベーステーブルに格納できます。ただ、@SecondaryTable/@SecondaryTablesであなたのエンティティクラスに注釈を付けると、特定のテーブルから列にフィールドをマップするために、あなたのフィールドマッピング注釈の「テーブル」プロパティを使用します。
@Entity
@Table(name ="TABLE1")
@SecondaryTables({
@SecondaryTable(name = "TABLE2", pkJoinColumns = @PrimaryKeyJoinColumn(name = "ID")),
@SecondaryTable(name = "TABLE3", pkJoinColumns = @PrimaryKeyJoinColumn(name = "ID"))
})
public class MyEntity {
@Id
@Column(name = "ID") /* when no table property is given, the primary table is used which is TABLE1 */
private Long id;
@Column(name = "FIELD1", table = "TABLE2")
private String field1;
@Column(name = "FIELD2", table = "TABLE3")
private String field2
}
あなたがでこれを処理することができるかもしれませんトリガーを使用してデータベースレベル –
おそらくJPAの「セカンダリテーブル」を調べますか? –