Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在hibernate中,是否需要在类定义中初始化关联?_Hibernate - Fatal编程技术网

在hibernate中,是否需要在类定义中初始化关联?

在hibernate中,是否需要在类定义中初始化关联?,hibernate,Hibernate,我在hibernate中定义了一个用户类。用户有一个地址 @Entity public class User { private Address address; public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } } 我需要像下面这样初始化地

我在hibernate中定义了一个用户类。用户有一个地址

@Entity
public class User {
    private Address address;

    public Address getAddress() {
        return address;
    }
    public void setAddress(Address address) {
        this.address = address;
    }
}
我需要像下面这样初始化地址吗

private Address address = new Address();

这两种方法似乎都有效。最佳实践是什么?

在我看来,这取决于您的要求

  • 如果
    用户
    没有
    地址就无法生存
    ,则
  • 否则,
    null
    地址将是表示您不知道
    用户的任何
    地址的外部世界的最佳方式
  • 集合(List、Set、Collection、Bag)可以设置为空集合,这样您就不必检查
    null
    ,因为Hibernate的基本特性不区分
    null
    集合关联和空关联。检查

然而,空地址并不表示知道地址的任何信息。在我看来,它们在逻辑上是等价的,但我认为空地址更为明显。