【发布时间】:2015-03-16 02:32:09
【问题描述】:
我正在使用 JPA 开发一个 Java 企业应用程序。我将通过一个示例来解释我的疑问。
我的 EntityA 有一个字段(使用连接表保存在数据库中),表示 EntityB 的列表,如下所示。
public class EntityA {
private List<EntityB> listOfB;
*getter and setter for listOfB*
}
在任何情况下,我都不希望我的 listOfB 获取器返回 null。 如果 listOfB 为空,我可以在代码中初始化 listOfB 的最佳点是什么?
我想到的第一个解决方案是修改getter:
public List<EntityB> getListOfB(){
if(listOfB == null)
listOfB = new ArrayList<EntityB>();
return listOfB;
}
然后我考虑使用带有@PostConstruct 标记的方法:
@PostConstruct
public void postConstruct() {
if(listOfB == null)
listOfB = new ArrayList<EntityB>();
}
我猜另一种选择是修改构造函数。
最好的方法是什么?最重要的是我问这个,因为我不希望由于与 JPA 功能的交互而发生任何问题。我也想知道前面提到的三个解决方案可能引发的任何问题。
【问题讨论】:
标签: jakarta-ee jpa entity