Java:最好将实体中的列表初始化为空列表或空列表

标签 java list arraylist eclipselink

<分区>

在这个例子中http://www.vogella.com/tutorials/JavaPersistenceAPI/article.html#jpaintro_entitymanager如果实体具有@OneToMany 关系。列表在声明中初始化如下:

@OneToMany(mappedBy = "family")
private final List<Person> members = new ArrayList<Person>();

我以前不在我的代码中初始化实体列表,并且总是必须检查是否为空。所以我的问题是:将列表(关系)初始化为声明中的空列表是正常需要做的还是什么?为什么?

我现在在做什么

private final List<Person> members

最佳答案

一般来说,“null”和“empty”具有不同的含义,即使 jpa 的行为保持不变。 Null 表示它从未被初始化,而 empty 表示没有条目。因此,如果您需要以不同的方式处理这两种情况,您可以这样做,如果不是,那么您走哪条路都没有关系。例如 null 可能意味着您永远不会加载所需的数据,您可以在检查 null 后加载它。而“空”意味着您已经加载了数据但没有条目

关于Java:最好将实体中的列表初始化为空列表或空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37906259/

相关文章:

java - 在应用程序运行期间动态地将事件/值推送到 Flux

java - 如何将ArrayList存储在文件中?

r - 如何根据分组向量中定义的组对列表元素进行分组?

数组列表中的Java分组值

java - 在 ArrayList 中搜索值,然后将值和键复制到新的 TreeSet

java - Spring Boot Weblogic 12c JNDI 数据源 : injection not working gives NullPointerException

java - 我如何在 JUnit 中检查两个对象数组是否相等?

java - 尝试使用异步将图像上传到 Android 网络服务器?

python - 如何将具有相同索引的两个单独列表的组合元素插入到另一个列表?

python - 不可哈希类型 : 'list' in dictionary