| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > hibernateTemplate. Pagination. |
| Автор: garbuz 30.7.2009, 10:30 | ||||||||
| Возникли непонятки с pagination. Делаю так
Выбираются четыре записи, причем выборка начинается не с четвертой, а с третье. И первые три выбранные записи одинаковые. Делаю по-другому.
Выбирается четыре записи, только по две одинаковых. Добавив эту строчку
получаем две записи. Что же в итоге делать? Неужели чтобы получить 4 записи надо так писать?
|
| Автор: MisterCleric 30.7.2009, 10:55 | ||
| Привет. Нет-нет. У тебя проблема связана с тем, что ты выбираешь коллекцию, элементы которой также содержат коллекции. Т.е. твой Post содержит ManyToOne List<Message>. в результате используется InnerJoin в селекте. а подумай сам: когда ты такой запрос выполнишь на базе, сколько раз у тебя повторится инфа по посту? Да столько сколько мессаждей в этом посте. Что бы такого не происходило, надо или LazyLoad(а может и не поможет...) или вот так:
|
| Автор: MisterCleric 30.7.2009, 16:12 | ||
| Ну может я немного поспешил предугадать, но суть от этого не меняется: из-за того, что у тебя
и выходит вот это дублирование. поставь тот хинт, что я предложил и должно помочь. У меня, собственно, так везде, где используется Pagination Еще могу предложить такое архитектурное решение, для такой задачи, как вынос логики этой коллекции во VIEW на базе, или просто запросом, результат которого будет меппиться на твой Post, таким образом ты сможешь и логику свою обрабатывать и не будет у тебя лишних JOIN |
| Автор: garbuz 30.7.2009, 17:08 |
| MisterCleric, спасибо! Вроде помогло! Дома вечерком еще попробую! |