#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.