gpt4 book ai didi

java - hibernate 中集合的@OneToMany 映射

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:22:13 24 4
gpt4 key购买 nike

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

最佳答案

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

但请考虑:

  1. 如果你认为它是如何映射到表的,那么子表就会有一个指向父表的外键。在 rdbms 方面,您不会在父级中有一个显式的“集合”,它是由外键隐含的。所以 ManyToOne 倾向于反射(reflect)实现。

  2. 如果您映射一对多,这意味着您在父级中有一个集合。如果它有很多 child ,它可能会占用大量内存。

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

  4. 如果父项有一个集合,则在检索子项时您需要执行查询,据说您应该执行以检索子项。

也许这可以帮助您澄清假定的建议。

关于java - hibernate 中集合的@OneToMany 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52786532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com