【问题标题】:Understanding the JPA mappedBy attribute in a OneToMany relationship了解 OneToMany 关系中的 JPA mappedBy 属性
【发布时间】:2013-10-07 20:41:54
【问题描述】:

我正在查看定义实体之间关系的示例,并且不确定在单对多关系引用中映射的内容。是表列名,还是类名?

 @OneToMany(fetch = FetchType.LAZY, mappedBy = "company")

【问题讨论】:

    标签: jpa


    【解决方案1】:

    以上都不是。它是关联另一方的属性/属性的名称。比如:

    public class Car {
        @OneToMany(mappedBy = "theCar")
        private List<Wheel> wheels;
    }
    
    public class Wheel {
        @ManyToOne
        @JoinColumn(name = "COL_CAR")
        private Car theCar;
    }
    

    在上面的例子中,mappedBy = "theCar" 的意思是:我是由 Wheel 类中的属性 theCar 映射的双向关联的反面。

    在 Wheel 类中,关联定义了关联的映射方式:使用名为 COL_CAR 的连接列。

    【讨论】:

    • 在这个例子中,COL_CAR 列是 Car 类的一部分?
    • 没有。 COL_CAR 列是表 WHEEL 的一部分。 WHEEL 中的每一行都有一个 COL_CAR 列,其中包含车轮所属的 CAR 的 ID。
    • 谢谢!在相关说明中,我如何指定何时只有关系的一方知道另一方?例如,我的 Team 类有一个联系人数组列表,但 Contact 类不知道团队?我将如何指定这种单向关系(单向)
    猜你喜欢
    • 2017-01-23
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    相关资源
    最近更新 更多