由 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 文件