我正在尝试使用 spring、hibernate 和第一次遵循 DDD 创建一个电子商务网站。
目前的情况是这样的。我正在考虑将对象 USER 作为聚合根,它有一个地址列表(以前的..和当前的),并且每个地址都关联一个国家(isocode,名称)..
我假设 Address 和 Country 是 Value Objects.. 与用户严格相关。
在@Entity 类 User 中有: @ElementCollection @CollectionTable(name = "addresses", joinColumns = @JoinColumn(name = "address_id")) @OrderColumn(name="user_id") 私有列表地址;
在 @Embeddable 类 Address 我想为 Country 创建一个单独的表,我可以在初始化期间填充该表,并且 Address 只有一个外键。
我试过@Embeddable Country 和地址@Embedded private Country country
还有@SecondaryTable .. 但这只能在@Entity 类中使用。所以问题是Country 的字段保存在地址表中。
我应该为 Country 创建一个 @Entity 吗?或者还有另一种方法来映射这些类?
谢谢