gpt4 book ai didi

java - hibernate 构造函数

转载 作者:行者123 更新时间:2023-11-29 08:09:22 25 4
gpt4 key购买 nike

在hibernate持久化类的构造函数中初始化Set有没有问题?

我遇到了 .equal 实现的问题,因为如果一个对象是用 hibernate 加载的,即使它们是空的,它的集合也会被初始化,即它们只是空集合。在新构造的对象中,它们为空。我知道这可以用 equal 方法处理,但它有点困惑,因为 null 并不真正等于一个空集。

我省略构造函数的原因是,如果我认为从性能的角度来看,初始化类的 Set 属性(创建新的 HashSet 或类似的东西)是没有意义的,然后让 hibernate 重新初始化它们(我猜它会?)。

我不应该担心这个并在构造函数中初始化 Set 数据结构吗?或者为新实例的手动初始化创建一个特殊的构造函数。

最佳答案

您的对象应该具有不变量,其中一个不变量是集合永远不会为空。它们可以为空,但不能为空。所以是的,您应该从构造函数中实例化空集。

与 Hibernate 所做的工作、对数据库的网络调用等相比,这样做的成本可以忽略不计。您不会注意到任何性能差异。

关于java - hibernate 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9196084/

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