我有三个表Member
,Address
和Mem_Addr
。
实体由表映射Member
/连接。多对多。Address
Mem_Addr
我有以下实体Member
和Address
:
@Entity
@Table (name="Member")
public class Member{
@Id //....
private Integer mem_id;
@OneToOne
@JoinTable (name = "Mem_Addr",
joinColumns = @JoinColumn(name = "addr_id"),
inverseJoinColumns = @JoinColumn(name = "mem_id"))
Set<Address> addresses = new HashSet<Address>;
...
}
Mem_Addr
表(它没有关联的实体)。
addr_id // (PK) Sequence
mem_id // (FK to mem_id in Member table)
....
....
Address
实体。
@Entity
@Table(name="Address")
public class Address {
private String addr_id; // Foreign Key to addr_id in Mem_addr table
private String address1;
...
}
Address
我在表/实体中没有 ID 。(请不要问我关于设计的问题。它现在无法更改。)
因此,当我加载成员时,我想加载该成员的所有地址位置。
解决办法是什么?
编辑:更多信息...
基本上有些Member
s 将在Mem_Addr
表中添加一个新条目。对于表中的每个条目,Mem_addr
表中都会有一个条目Address
。
要获取成员的地址,我需要参考 Mem_Addr。Mem_Addraddr_id
作为主键,Addressaddr_id
作为外键。