基本上,我想对公司和个人添加地址。地址是独立的实体。
公司可以有一个地址上下文,它使用与个人地址上下文相同的地址实体
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
提前致谢