私たちのプロジェクトの要件の1つについて、次のことを行っています。
http://msdn.microsoft.com/en-us/library/aa479086.aspx#mlttntda_nvpを使用して複数のテナントを管理します。
テーブル構造のイメージについては、上記のリンクを参照してください。
マッピングの管理について助けが必要です。これが私が考えていることです:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class AbstractEntity {
@Id @GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
@OneToMany(mappedBy="entities")
private Set<ExtensionTable> extensionTable = new HashSet<ExtensionTable>();
....
}
@Entity
public class ExtensionTable {
@Id @GeneratedValue
private Long id;
@ManyToOne
private Set<AbstractEntity> entities = new HashSet<AbstractEntity>();
...
}
@Entity
public class Employee extends AbstractEntity {
...
}
メタデータ テーブルのマッピングを定義するのが難しいと感じています。