Фон
У меня есть таблица со столбцами id, imageId, propertyId .
Может быть много изображений, связанных с одним свойством, и может быть много свойств, связанных с одним изображением.
imageId - many-to-many - propertyId
У меня есть список propertyIds, и я хочу узнать все изображения, связанные со всеми propertyIds , используя Hibernate .
Проблема.
Просто сейчас я выбираю по одному свойству за раз и, используя API Критерии, нахожу все imageIds, связанные с этим propertyId, я получаю список imageIds. Я использую этот список imageIds в следующем запросе и говорю
select imageIds where imageId in (imageIds obtained in previous step) where propertyId = x
Таким образом, количество запросов к базе данных будет равно количеству идентификаторов свойств. Я не думаю, что это хорошее решение, так как мне приходилось обращаться к базе данных n раз, я пытался использовать Detached Query, но безуспешно. Есть ли лучшее решение?
Кроме того, когда я наконец получу список imageIds, будет ли хорошей идеей (не будем принимать во внимание количество результатов) сохранять его в сеансе пользователя и разбивать на страницы ИЛИ это хорошая идея повторить весь процесс ИЛИ я должен рассмотреть вопрос о сохранении его в БД для целей нумерации страниц?