如何映射双重关系JPA?

时间:2013-11-27 14:45:42

标签: java hibernate

我需要JPA的地图:

http://i.stack.imgur.com/9ve1W.png

我如何映射两个“表”之间的两个关系,其中一个是主键和一对一(提前newClient),另一方面是一对多不是PK?

我试过这样的事情,但失败了。

public class Recommendation implements Serializable {
    @Id @OneToOne
    @Column(name="...")
    private Client newClient;
    @ManyToOne
    @Column(name="...")
    private Client oldFella;
    @Column(name="...")
    private Boolean wasUsedToGenerateBond;

...

}

谢谢!

2 个答案:

答案 0 :(得分:1)

两个实体之间可能有多个ManyToMany关系。每个关系都有自己的连接表。连接表的默认名称可能相同,因此您需要指定@ JoinTable的名称。

这里可能的答案

JPA Problems mapping relationships

更多信息

Hibernate 4.2, bidirectional @OneToOne and @Id

答案 1 :(得分:0)

像这样:

@Id @OneToOne
@JoinColumn(name="id_client1")
private Client newClient;
@ManyToOne
@JoinColumn(name="id_client2")
private Client oldFella;