基本的には、企業と個人の住所を実装したいと考えています。アドレスは別個のエンティティです。
会社は、個人の AddressContext と同じ Address エンティティを使用する AddressContext を持つことができます
AddressContext は、「私の自宅の住所」など、個人に関する住所の意味を与えます。
Java クラス:
public class Address {
}
public class AddressContext {
private Address address;
private String name;
}
public class Individual {
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Set<AddressContext> addresseContexts;
}
public class Company {
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Set<AddressContext> addresseContexts;
}
必要なデータベース address_context データベース テーブル
CREATE TABLE `address_Context` (
`ID` bigint(20) NOT NULL AUTO_INCREMENT,
'address_id bigint(20) NOT NULL,
'RELATED_ITEM_ID bigint(20) NOT NULL,
'RELATED_ITEM_TYPE varchar(50) NOT NULL,
'NAME' varchar(5)
);
基本的に以下のものを持っています
1, 1, 1, Individual, 'John's House';
2, 2, 1, Company, 'Depoy';
実際に起こっていることは、個別のテーブルが作成されていることです
companies_address_contexts
individuals_address_contexts
上記は可能ですか?AddressContext もサブクラス化したくありません
前もって感謝します