需要从两个不同的表加载项目列表(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
.
您必须编写自己的列表实现,该列表将使用两个列表进行初始化,并将所有方法执行委托给这两个列表以确保突变操作的安全。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)