如何从实体列表中保留一些内容

时间:2011-11-01 15:47:55

标签: java jpa-2.0 eclipselink

我想知道是否有一种“正确”的方法来使用EclipseLink实现以下目的。我有一个对象列表

List<MyType> newList

在启动我的应用程序时,我想检查其所有内容是否已经保留(在我的应用程序的先前部署期间),如果没有,我想要保留所有新的内容。 目前我正在获取已经存在的实体,如下所示:

List<Video> oldList = em.createQuery("select v from MyType v").getResultList();

所以我有两个列表,理想情况下,我希望达到一个保持newList的所有内容的点。

请注意,oldList将始终是newList的子列表,因为newList将始终至少包含oldList包含的内容。

由于

1 个答案:

答案 0 :(得分:0)

在我看来,你刚刚为你的问题发布了一个解决方案:-)

如果您在应用启动期间能够获得oldList,那么您可能只是迭代newList,并且每个对象都会检查oldList.contains(yourObject)

如果没有 - 坚持下去;如果是的话 - 只需移动到下一个元素。

您只需要确保为对象正确实现了equals(),因为它将用于检查是否相等。

HTH。