Hibernate构造函数

Jus*_*yul 1 java hibernate

初始化在使用hibernate持久化的类的构造函数中的集合有什么问题吗?

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

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

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

JB *_*zet 5

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

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