我想知道是否有一种“正确”的方法来使用EclipseLink实现以下目的。我有一个对象列表
List<MyType> newList
在启动我的应用程序时,我想检查其所有内容是否已经保留(在我的应用程序的先前部署期间),如果没有,我想要保留所有新的内容。 目前我正在获取已经存在的实体,如下所示:
List<Video> oldList = em.createQuery("select v from MyType v").getResultList();
所以我有两个列表,理想情况下,我希望达到一个保持newList的所有内容的点。
请注意,oldList将始终是newList的子列表,因为newList将始终至少包含oldList包含的内容。
由于
答案 0 :(得分:0)
在我看来,你刚刚为你的问题发布了一个解决方案:-)
如果您在应用启动期间能够获得oldList
,那么您可能只是迭代newList
,并且每个对象都会检查oldList.contains(yourObject)
。
如果没有 - 坚持下去;如果是的话 - 只需移动到下一个元素。
您只需要确保为对象正确实现了equals(),因为它将用于检查是否相等。
HTH。