【发布时间】:2011-11-15 07:35:45
【问题描述】:
我是 Hibernate / Spring 的新手,试图在创建一个小的 Web 实用程序的同时映射遗留数据库,这应该可以减轻同事的一些工作。由于我已经映射了实体并可以访问基础数据,因此我在以后遇到了一些问题。长话短说,我有两个实体,客户
@Entity
public class Customer implements Serializable{
@Id
@Column(name = "RecordID")
private Integer id;
@Column(name = "CUSTOMERNAME1")
private String name;
@OneToMany
@JoinColumn(name="CUSTOMER1", referencedColumnName="CUSTOMERNAME1")
private List<Contract> contracts;
}
和合同:
@Entity
public class Contract implements Serializable {
@Id
@Column(name = "RECORDID") //RecordID
private Integer id;
@Column(name = "CONTRACTID1") //ContractID1
private String contractId;
@Column(name = "CUSTOMER1") //Customer1
private String customerName;
//@ManyToOne
//private Customer customer; // how can I write the reverse mapping?
}
从客户到合同的映射有效(一个客户可以有很多合同,我可以使用客户中的 List contracts 字段来获取它们,但我的问题是,我怎样才能实现相反的 - 即让客户映射到哪个合约?
【问题讨论】:
-
“多”端始终是关系的所有者,因此您在该端定义连接表。对于这个示例,您实际上不需要连接表:多方字段可以存储其所有者的引用。
标签: java hibernate orm annotations persistence