私は春、冬眠、そしてDDDに続く初めてのEコマースウェブサイトを作成しようとしています。DDDのユーザー、住所、国
現状はこれです。私は、アドレスのリスト(前のものと現在のもの)を持つ集約ルートとしてオブジェクトUSERを考えています。すべてのアドレスには国(アイソコード、名前)が関連付けられています。
私は、値オブジェクト..厳密にユーザーに関連しています。 @Entityクラスのユーザーで
があります: @ElementCollection @CollectionTable(名前= "アドレス"、joinColumns = @JoinColumnを(名前= "ADDRESS_ID")) @OrderColumn(名前= "USER_ID") プライベートリストのアドレス。
@Embeddableクラスのアドレス私は、初期化時に移入できるCountry用の別のテーブルを作成したいと思います。アドレスには外部キーしかありません。
私は@Embeddable国を試してみましたが、住所 に 民間国の国
とも@SecondaryTableを@Embedded ..しかし、これが唯一の@Entityクラスで使用することができます..だから、問題は国の分野ということですアドレステーブルの中に保存されます。
@Entity for Countryを作成する必要がありますか?あるいは、これらのクラスをマップする別の方法がありますか?
おかげ
Eric Evansの本を読んでいますか? –
私は通常、絶対的な文を作るのは好きではありませんが、この場合は例外を作成します。**絶対に、データベーススキーマにあなたのドメインモデルの設計に影響を与えないようにしてください。 * DDD 101。 – MattDavey