【发布时间】:2010-08-16 11:48:00
【问题描述】:
需要从两个不同的表中加载项目列表(ArrayList)。由于复杂的 Hibernate 映射,它们不能作为一个 ArrayList 加载。所以它们是由类定义中的两个不同的 Hibernate 包分别加载的。当我使用它们时,我想组合成一个列表。所以我正在考虑写一个函数如下,
private List<Item> combinedList = new ArrayList<Item>();
public List<Item> getCombinedList()
{
combinedList.clear();
combinedList.addAll(getList1());
combinedList.addAll(getList2());
return combinedList;
}
getCombinedList() 将用于显示项目并用于其他只读操作。任何删除或修改或添加操作仍将在 List1 和 List2 中执行(因为它将由 Hibernate 处理)。
我的问题是如何在发生变化时有效地将 getCombinedList() 与源列表同步?
更新:每次调用 getCombinedList() 来获取最新项目是低效的。我正在寻找一种方法来同步底层数据结构combinedList。
【问题讨论】: