java - Hibernate 一对多映射与附加关系表

标签 java hibernate one-to-many

我想要两个具有一对多关系的表,并由第三个表链接。我该如何处理这个问题?我想创建与此 tutorial 完全相同的东西但使用一对多而不是多对多与 unique="true"

最佳答案

在 Hibernate 中,当您使用 @OneToMany 注释而不声明 @JoinTable 或 @JoinColumn 时,将自动创建第三个表来映射关系,因此不必担心只需将 @ManyToMany 切换为 @OneToMany,只要您的关系将遵循注释的规则。

但是,您可以尝试一些显式映射,这样您甚至可以控制由 @OneToMany 注释创建的列名称。

尝试这样的事情:

public class TestClass1 {

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

祝你好运!

关于java - Hibernate 一对多映射与附加关系表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22345617/

相关文章:

java - 仅加载多对一关系的 ID

mysql - 在逗号分隔的 mysql 列上搜索

java - 在java中使用正则表达式组

java - 使用 Java 删除 XML 节点

java - 仅当使用 hibernate 不存在该行时,如何在表中添加行?

java - Hibernate 4.0 的事务锁定问题

mysql - SQL : Statement to show 1 child record per parent in a One-to-Many relationship

django - 模型自依赖(一对多字段)实现

java - SimpleDateFormat 但包含当前或明年

java - 分解 RSA/ECB/OAEPWithSHA-256AndMGF1Padding