2011-09-12 91 views
0

我是Hibernate/Spring的新手,尝试映射旧数据库,同时创建一个小的Web实用程序,这应该可以为同事减轻一些工作量。由于我已经映射了实体并可以访问底层数据,因此我还有一些问题。为了使长话短说,我有两个entites的,客户Hibernate:映射@OneToMany/@ManyToOne问题(不使用实体主键)

@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? 
} 

从客户合同的映射工作(一个客户可以有许多合同,我都可以用得到它们在客户名单中列出合同字段,但我的问题是,我怎样才能实现相反的目的 - 即获得合同映射的客户?

+1

的 “多” 方始终是关系的所有者,所以你定义连接那边的桌子。在这个例子中你实际上不需要连接表:多方的一个字段可以存储它的所有者的引用。 – toto2

回答

相关问题