了解OneToMany关系中的JPA mappingBy属性

use*_*644 2 jpa

我正在查看定义实体之间关系的示例,但不确定单原子关系引用中所映射的内容。它是表列的名称还是类的名称?

 @OneToMany(fetch = FetchType.LAZY, mappedBy = "company")
Run Code Online (Sandbox Code Playgroud)

JB *_*zet 5

以上都不是。它是关联另一侧的属性/属性的名称。因此,例如:

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

public class Wheel {
    @ManyToOne
    @JoinColumn(name = "COL_CAR")
    private Car theCar;
}
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,mappedBy = "theCar"意味着:我是双向关联的反面,该​​关联由theCarclass中的属性映射Wheel

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