hibernate中集合的java@OneToMany映射
每当我们有@OneToMany
关系的双向映射时,我们就使用父实体中的集合来收集所有子实体。但是,出于性能考虑,始终建议使用较少的子实体。据说在child中有@ManyToOne
单向映射,如果需要与父级关联的子级,则使用查询。这是什么原因
你可以在下面搜索框中键入要查询的问题!
每当我们有@OneToMany
关系的双向映射时,我们就使用父实体中的集合来收集所有子实体。但是,出于性能考虑,始终建议使用较少的子实体。据说在child中有@ManyToOne
单向映射,如果需要与父级关联的子级,则使用查询。这是什么原因
# 1 楼答案
我不知道你在哪里读到的。没有一般规则
但请考虑:
如果您考虑如何将其映射到表,则子表将具有父表的外键。在rdbms端,父级中没有显式的“集合”,它是由外键隐式的。因此,多数人倾向于反映执行情况
如果将一个映射到多个,这意味着您在父级中有一个集合。如果它有很多孩子,可能需要很多记忆
在许多情况下,检索父对象时不需要子对象。(当然,这也可以通过使用惰性集合来解决。)
如果父级有一个集合,则在检索子级时,您需要执行查询,这表示您应该执行以检索子级
也许这有助于您在某种程度上澄清假定的建议