有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

hibernate中集合的java@OneToMany映射

每当我们有@OneToMany关系的双向映射时,我们就使用父实体中的集合来收集所有子实体。但是,出于性能考虑,始终建议使用较少的子实体。据说在child中有@ManyToOne单向映射,如果需要与父级关联的子级,则使用查询。这是什么原因


共 (1) 个答案

  1. # 1 楼答案

    我不知道你在哪里读到的。没有一般规则

    但请考虑:

    1. 如果您考虑如何将其映射到表,则子表将具有父表的外键。在rdbms端,父级中没有显式的“集合”,它是由外键隐式的。因此,多数人倾向于反映执行情况

    2. 如果将一个映射到多个,这意味着您在父级中有一个集合。如果它有很多孩子,可能需要很多记忆

    3. 在许多情况下,检索父对象时不需要子对象。(当然,这也可以通过使用惰性集合来解决。)

    4. 如果父级有一个集合,则在检索子级时,您需要执行查询,这表示您应该执行以检索子级

    也许这有助于您在某种程度上澄清假定的建议