由 Foo.class 管理的双向一对一关系

@Entity
@Table(name="FOO")    
public class Foo {
    private UUID fooId;
    
    @OneToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "barId")
    private Bar bar;
}

@Entity
@Table(name="BAR")
public class Bar {
    private UUID barId;
    
    @OneToOne(mappedBy = "bar")
    private Foo foo;
}

使用外键指定一个 Foo 对象与一个 Bar 对象之间的双向关系。

Foo 对象作为行存储在名为 FOO 的表中。Bar 对象作为行存储在名为 BAR 的表中。外键存储在 FOO 表中名为 barId 的列中。

请注意,mappedBy 值是对象上的字段名称,而不是列名称。

StackOverflow 文档