Как сохранить некоторое содержимое из списка объектов

#java #jpa-2.0 #eclipselink

#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. Итак, вы недовольны своим текущим дизайном?

2. На самом деле, я не знаю, как это сделать.

Ответ №1:

Как мне кажется, вы только что опубликовали решение своей проблемы 🙂

Если вы можете получить oldList во время запуска вашего приложения, вы можете просто повторить newList и для каждого объекта проверить, если oldList.contains(yourObject) .

Если это не так — сохраните его; если это так — просто перейдите к следующему элементу.

Вам просто нужно быть уверенным, что вы правильно реализовали equals() для своих объектов, поскольку он будет использоваться для проверки равенства.

HTH.