Итак, допустим, у меня есть ArrayList, полный продуктов, которые нужно добавить в базу данных через Hibernate.В базе данных уже есть большое количество товаров.У каждого продукта есть идентификатор.Обратите внимание, что это НЕ ПК, автоматически сгенерированный Hibernate.
Мои вопросы: каков наилучший способ обнаружения конфликтов с этим идентификатором?Я ищу относительно эффективный способ получения из базы данных Списка продуктов, имеющих общий идентификатор с любым из Продуктов в моем ArrayList.Это все в одной таблице с именем Products, а атрибут ID находится в столбце ProductID.
Я сделал это, собрав список всех продуктов в базе данных, и сравнил каждый из них с каждой записью вмой ArrayList - но это серьезно неэффективно, и я не думаю, что это будет хорошо работать с большой базой данных.Как это должно быть сделано?Благодарю.Я говорю «относительно» эффективный, потому что эффективность не является первостепенной задачей, но тестирование с таблицей из ~ 1000-5000 строк не должно занять много времени.Помощь?
РЕДАКТИРОВАТЬ * Я очень новичок в спящем режиме, и ниже это лучшее, что я придумал.Как это выглядит?
for(long id : idList){ //idList just holds the IDs of each Product in my ArrayList
Query query = session.createQuery("select product from Product product where product.id = :id");
query.setLong("id", id);
for(int i = 0; i < query.list().size(); i++){
listOfConflictingProducts.add((Product) query.list().get(i));
}
}