私は非常に単純なアプリを設計しようとしていますが、Hibernateのエンティティオブジェクトと値オブジェクトの定義(Java Persistence with Hibernateの第4章で定義されている)と少し混乱しています。
私が持っているのは、注文できる顧客とのアプリです(1対多の関係)。これらの各注文には、多くの注文明細があります(1対多)。さて、顧客はアイデンティティ(顧客番号)を持っていると思いますが、注文(注文番号)もそうなので、エンティティオブジェクトになりますか?私の混乱は注文ラインにあります。
注文ラインには、数量、製品番号、価格があります。順序線は、その順序なしでは存在できず、それ自体のIDもありません。したがって、私はそれを値オブジェクトと見なします。しかし、注文とその注文ラインの間には1対多の関係があるため、注文ラインを注文テーブルの一部にすることはできません。1対多の関係は、値オブジェクトの定義とどのように連携しますか?Hibernateの本から:
「値型のオブジェクトにはデータベースIDがありません。エンティティインスタンスに属し、その永続状態は所有するエンティティのテーブル行に埋め込まれています。値型には識別子または識別子プロパティがありません。」
誰かが私の混乱を解消することができれば、私は本当にそれをいただければ幸いです:)