最佳做法是映射到需要由其父级管理的实体列表
答案 0 :(得分:5)
差异是语义:
然而,包和列表都可以用IList<>表示。在代码中 - 这是完全正常的,但你必须记住,你不能依赖于包中的物品的顺序。
在选择如何映射列表时,请选择最适合您的收藏的选项 - 如果您不需要订购,请选择包,如果您需要订购 - 请选择列表强>
旁注:可以控制包中物品的顺序 - 您必须使用适当的sql表达式指定order-by属性。但是,请勿使用此功能模拟列表行为 - 直接使用列表。当订单是某些其他属性的结果时,可以使用 bag 的order-by属性 - 例如按上次修改的时间戳排序实体。
答案 1 :(得分:0)
我发现的所有示例都使用 IList<> ,这就是我在代码中使用的内容。
我认为Bag可能是原始Java Hibernate的遗留物 - 我依稀记得读过这个帖子。