2014-03-12 109 views
0

我想有两个表与第三个表链接的一对多关系。我该如何解决这个问题?我想创建完全一样的东西,在这个tutorial,但使用一对多,而不是使用unique =“true”的多对多休眠与附加关系表的一对多映射

+0

只需为第三个表创建一个实体。代替实体A的M-M <-> B,您需要1-M A-> X和1-M B-> X。 A和B都是实体。 – gerrytan

+0

你可以在网上找到很多这样的例子...... – BDR

+0

@ balaji-reddy所有这些例子都只使用2个没有关系表的表。 – user3409590

回答

1

在Hibernate中,当您使用@O​​neToMany注释而不指定@JoinTable或@JoinColumn,会自动创建第三个表来映射关系,所以只要@OneToMany切换@ManyToMany,只要您的关系遵循注释的规则,就不用担心。

但是,您可以尝试一些显式映射,这样您将能够控制即使通过@OneToMany注释创建的列名称。

尝试这样:

public class TestClass1 { 

    @OneToMany 
    @JoinTable(name = "ADDITIONAL TABLE NAME", joinColumns = { 
     @JoinColumn(name = "TESTCLASS1_ID")}, inverseJoinColumns = { 
     @JoinColumn(name = "TESTCLASS2_ID")}) 
    private List<TestClass2> listTestClass2; 
} 

祝你好运!

+0

我想这样做没有注释。 – user3409590