Ebeanで、OneToOneでモデルを結合する際の注意

Ebeanで、OneToOneでモデルを結合する際、アノテーションの付け方によって挙動が変化する。

基本的には両方のモデルに@OneToOneアノテーションを付けるが、この時アノテーションのパラメータを両方共指定しなかった場合は、生成されるSQLで、お互いのIDを保持するカラムが生成されてしまう。このを回避するためには、どちらかのアノテーションにmappedByパラメータを付加する必要がある。
どちらのアノテーションにつけるかは、両方試してみて生成されるSQLを確認してみると良い。

@Entity
public class One {
    @OneToOne(mappedBy = "one")
    Two two;
}

@Entity
public class Two {
    @OneToOne
    One one;
}

参考ページ(https://ebean.io/docs/mapping/one-to-one)