【发布时间】:2014-08-09 18:35:25
【问题描述】:
我正在使用 JPA 学习休眠。 由于一对多的关系,我遇到了延迟初始化的问题。然后我将获取类型更改为 EAGER,它显示“无法获取多个包”。
然后我将我的 List 更改为 Set。我想知道它工作正常。
但我想知道原因,为什么set比list好。
请解释一下以了解 set 和 List 的功能。
【问题讨论】:
-
你能把这段代码贴出来吗??
-
我认为这与从 List 到 Set 的转换没有任何关系,如果配置良好,两者都可以工作。此外,Set 优于 list,因为 Set 不允许重复对象,这意味着您将始终在 Set 中拥有唯一的元素集。
-
我使用适合我的应用程序所需数据的任何一种。任何持久性机制都不应该决定您的选择。您需要订购吗?使用列表。等
-
感谢大家的cmets。我创建了一个实体,它与第二个实体具有 onetomany 关系,第二个实体与第三个实体具有 onetomany。我试图从第三个实体访问元素然后我得到了上面的场景。这里列出了它在启动服务器时给出的异常。但是设置一切正常。
-
因此,如果您遇到一些异常,请解决异常的原因,或者,如果这是您的持久性解决方案中的问题,您会在该软件上提出错误。周围有不止一个 JPA 实现(并不是一些公司知道它)。建议您用您遇到的实际问题更新您的问题,并附上详细信息。
标签: java hibernate jpa collections