【发布时间】:2011-10-17 08:44:32
【问题描述】:
在 POJO Java bean 中,这样的代码可能是有益的,尤其是对于集合:
class POJO {
private Collection<X> col;
public Collection<X> getCol() {
if (col == null)
col = new SomeCollection<X>();
return col;
}
}
这使得使用POJO 的代码无需额外的空检查即可调用pojo.getCol().isEmpty(),从而使代码更清晰。
假设POJO 类是一个JPA 实体,这样做仍然安全吗?通过将集合从 null 初始化为空,持久性数据不会被更改,但我们仍在修改对象,因此持久性提供程序可能会在刷新持久性上下文时运行一些副作用。我们冒什么风险?也许是便携性?
【问题讨论】: