【发布时间】:2016-03-09 16:42:40
【问题描述】:
我在 JPA 遇到了一种情况。
我有一个实体,比如 A.A 和自己有父子关系。所以 A 可以有一个 A(children) 和一个 A(parent) 的集合。如果 parent 为 null,则表示 A 是层次结构。
我的用例是,我需要获取表中的所有数据(可以是大约 30k-40k 行),然后根据实体之间的父子关系将其组织成树结构。
所以我决定让 Collection 字段的 EAGER 获取,因此 JPA 将自己获取所需树结构中的数据,并且它工作得非常好。 但在其他用例中,不需要获取 A 的全部数据,并且当数据过多时也会导致超时问题。 那么我该如何解决这个问题呢?
我计划将两个实体映射到表中,一个具有 EAGER 策略,另一个具有 LAZY 策略。所以我会在我的用例中使用 EAGER 一种,而其他用例将使用 LAZY 一种。 这会是一个干净的解决方案吗?
【问题讨论】: