私は常に、リレーションの背後にあるロジックに基づいて@OneToOne
and@ManyToOne
リレーションを使用してきました。両端が1つのエンティティしかない場合は、1対1です。反対側のエンティティがこの側に複数の対応するエンティティを持っている可能性がある場合、それは多対1です。つまり、学生はちょうど1冊の学生の本を持っており、各学生の本はちょうど1人の学生に属しています(1対1)
@OneToOne
ただし、実際には1対1ではない注釈がコードベースにいくつか見られました。どういうわけか、これはかなり長い間機能してきましたが、hibernateはこれらの注釈を異なる方法で処理するのでしょうか?
エンティティ上にある場合、おそらく@OneToMany
反対側でのマッピングは許可されませんが、それ@OneToOne
とは別にですか?