Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / jdbc/hibernate pagination / 25 сообщений из 35, страница 1 из 2
21.12.2016, 14:20
    #39371958
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
День добрый!

Правильно ли я понимаю, что реализация пагинации в hibernate - в смысле возможности вытаскивать кусками основана на формировании sql запросов
с LIMIT/OFFSET (для postgresql в частности) ? Не подскажете ли "чистую jdbc" реализацию (может быть в каких-нибудь java-клиентах) пагинации?
Собственно конечная цель написания TableModel с поддержкой пагинации.


Пасиба
...
Рейтинг: 0 / 0
21.12.2016, 14:39
    #39371981
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
_usa__83_ Правильно ли я понимаю, что реализация пагинации в hibernate - в смысле возможности вытаскивать кусками основана на формировании sql запросов с LIMIT/OFFSET (для postgresql в частности) ?

Да.

_usa__83_ Не подскажете ли "чистую jdbc" реализацию (может быть в каких-нибудь java-клиентах) пагинации?

А к чему тогда был предыдущий вопрос? Большинство оберток над JDBC поддерживают "пагинацию" точно таким же способом как и Hibernate? Возможно вам не нужна пагинация, а просто достаточно скроллируемого ResultSet?

_usa__83_Собственно конечная цель написания TableModel с поддержкой пагинации.

Я тоже когда-то этой темой увлекался. Написал TableModel c ленивой фоновой постраничной загрузкой.
Но, в итоге, понял что это никому нахрен не нужно. Ни один пользователь не хочет просматривать мульён записей. Ему нужны максимум 1-2 десятка соответствующих критериям (последние, обновленные, отфильтрованные и отсортированные).
Поэтому лучше потратить время на написание удобного фильра, чем на сложную загрузку.

Не забывайте про SwingWorker при работе с БД из GUI.

В другом проекте как-то делал очень клевый фильтр. Работает как поиск в Windows 10. Просто набираешь текст, а фильтр, обновляет таблицу, добавля like критерий к запросу.
...
Рейтинг: 0 / 0
21.12.2016, 15:17
    #39372038
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
Blazkowicz,

Пасиба за развернутный ответ.

авторНаписал TableModel c ленивой фоновой постраничной загрузкой. Но, в итоге, понял что это никому нахрен не нужно.

Ну почему-ж не нужно? - нужно - готов забрать!

авторНи один пользователь не хочет просматривать мульён записей.

С этим никто и не спорит. В тоже время таскать за раз из базы больше 50-100 записей вроде как и не очень разумно, а вот иметь доступ к записям если "основного" представления это не очень накладно вроде как и не очень плохо. Хотя ...
...
Рейтинг: 0 / 0
21.12.2016, 15:27
    #39372049
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
_usa__83_День добрый!

Правильно ли я понимаю, что реализация пагинации в hibernate - в смысле возможности вытаскивать кусками основана на формировании sql запросов
с LIMIT/OFFSET (для postgresql в частности) ? Не подскажете ли "чистую jdbc" реализацию (может быть в каких-нибудь java-клиентах) пагинации?
Собственно конечная цель написания TableModel с поддержкой пагинации.


Пасиба

Зачем?!
Когда есть spring-data в котором уже есть модель с пагинацией, сортировкой и фильтрацией.
Плюс "из коробки" RESTFULL-API для работы с БД :-)
...
Рейтинг: 0 / 0
21.12.2016, 15:47
    #39372075
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
_usa__83_,

В тоже время таскать за раз из базы больше 50-100 записей вроде как и не очень разумно, а вот иметь доступ к записям если "основного" представления это не очень накладно вроде как и не очень плохо. Хотя ...
кто тебе сказал, что не разумно????
базы они для того и предназначены чтоб выдавать данные какие нужны, а не все.
можно по пальцам пересчитать когда юзеру нужно просматривать 1к записей, и это только если просто просмотреть....
максимум- 2 экрана, если вывод больше - не правильный фильтр для выбора. и фильр надо делать именно в запросе, а не на клиенте фильтровать из мильона записей.
для базы менее накладно выбрать n-раз из мильна записе 50 и их отправить клиенту, чем выбрать все и отправить.
...
Рейтинг: 0 / 0
21.12.2016, 15:57
    #39372086
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
mad_nazgul,
не все со спрингом работают.
И ТС тоже похоже только до хибера дошёл.
...
Рейтинг: 0 / 0
21.12.2016, 17:48
    #39372196
Андрей0407
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
_usa__83_День добрый!

Правильно ли я понимаю, что реализация пагинации в hibernate - в смысле возможности вытаскивать кусками основана на формировании sql запросов
с LIMIT/OFFSET (для postgresql в частности) ? Не подскажете ли "чистую jdbc" реализацию ...
Добрый день.
В Java Persistence with Hibernate , в 19.2 Paging and sorting data подробно разбирается постраничное считывание с использованием Criteria API. В исходных кодах примеров входная точка -
Код: plaintext
org.jpwh.test.service.PagingTest, org.jpwh.test.service.PagingTest
.
...
Рейтинг: 0 / 0
22.12.2016, 07:10
    #39372523
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
Petro123mad_nazgul,
не все со спрингом работают.
И ТС тоже похоже только до хибера дошёл.

IMHO
Изучать hibernate не надо.
Есть spring-data-jpa.
Если этого не хватает, то есть Spring JdbcTemplate.
...
Рейтинг: 0 / 0
22.12.2016, 09:27
    #39372561
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
mad_nazgul,
Ну. Это флейм))
В спринге нет ООП.
А большая часть прогеров без него не могут.
Ты в большинстве или меньшИнстве).
...
Рейтинг: 0 / 0
22.12.2016, 10:33
    #39372613
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
Petro123mad_nazgul,
Ну. Это флейм))
В спринге нет ООП.


Если не трудно, то можете обосновать ваше утверждение.
Мне казалось, что Spring ближе к ООП, чем JavaSE.

Petro123А большая часть прогеров без него не могут.
Ты в большинстве или меньшИнстве).

Большая часть проггеров спокойно обходится без ООП.
Достаточно посмотреть на любой legacy проект.
...
Рейтинг: 0 / 0
22.12.2016, 11:40
    #39372685
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
mad_nazgulЕсли не трудно, то можете обосновать ваше утверждение.
Мне казалось, что Spring ближе к ООП, чем JavaSE.
Ближе всего к ООП - это ОРМ.
Продолжать?
mad_nazgulБольшая часть проггеров спокойно обходится без ООП.
Достаточно посмотреть на любой legacy проект.
У меня нет столько практики, но это не так. Ставлю IMHO.
...
Рейтинг: 0 / 0
22.12.2016, 11:42
    #39372686
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
Petro123Ближе всего к ООП - это ОРМ.

Только не говори Егору
...
Рейтинг: 0 / 0
22.12.2016, 11:50
    #39372705
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
BlazkowiczPetro123Ближе всего к ООП - это ОРМ.

Только не говори Егору
))
пусть будет больше таких как Егор).
И больше альтернатив....какой нибудь DataSet (Delphi)
Только не один спринг, т.к. я его (пока) не люблю.
...
Рейтинг: 0 / 0
22.12.2016, 12:11
    #39372740
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
Petro123Только не один спринг, т.к. я его (пока) не люблю.
Это твои личные проблемы. Ничего лучше пока нет.
...
Рейтинг: 0 / 0
22.12.2016, 12:32
    #39372767
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
BlazkowiczЭто твои личные проблемы.
у меня нет проблем. Любить это одно, а работа есть работа.
BlazkowiczНичего лучше пока нет.
сравнивать спринг с хибером странно.
Топик про новичка.
Хочет менять хибер на спринг - пущай).
И тему заодно, сменит.
...
Рейтинг: 0 / 0
23.12.2016, 08:35
    #39373462
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
Petro123mad_nazgulЕсли не трудно, то можете обосновать ваше утверждение.
Мне казалось, что Spring ближе к ООП, чем JavaSE.
Ближе всего к ООП - это ОРМ.
Продолжать?


ЧТА?
ОРМ это попытка "впихнуть невпихуемое".
Это уже не декларативное программирование, но еще не ООП.
Попытка представить РМД в виде объектов приводит, к тому, что сущности это не таблицы, но и не полноценные объекты.
Плюс для работы приходится использовать некий костыль, в виде CriteriaAPI либо HQL.
Которым до SQL "как до Китая раком".

В таком контексте Spring-data-jpa это нормальный декларативный подход.
Причем не такой как в SQL, а намного проще.
Но зато честный и для многих задач подходит.
...
Рейтинг: 0 / 0
23.12.2016, 08:57
    #39373471
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
mad_nazgul,
Забавно. Ещё тройку лет назад я говорил почти как ты и 100проц. мемберов хвалили хибер.
Было 95% орм и 5 проц. JDBC.
Проведи опрос.
...
Рейтинг: 0 / 0
24.12.2016, 09:49
    #39374305
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
Petro123mad_nazgul,
Забавно. Ещё тройку лет назад я говорил почти как ты и 100проц. мемберов хвалили хибер.
Было 95% орм и 5 проц. JDBC.
Проведи опрос.

Я же не против, чтобы использовали Hibernate.
Я всегда говорил, что его использовать можно, если вся работа укладывается в spring-data-jpa и его Repository.
В противном случае, проще писать запросы на SQL, минуя слой Hibernate.
...
Рейтинг: 0 / 0
24.12.2016, 11:01
    #39374314
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
mad_nazgul,
хорошее знание sql позволяет очень много реализовать именно на sql, что обеспечит и скорость и простоту кода.
...
Рейтинг: 0 / 0
24.12.2016, 11:27
    #39374317
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
вадяmad_nazgul,
хорошее знание sql позволяет очень много реализовать именно на sql, что обеспечит и скорость и простоту кода.
Простоту кода? Когда у тебя по десятку JOIN-ов на запрос? Не смеши.
...
Рейтинг: 0 / 0
24.12.2016, 12:59
    #39374343
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
Blazkowiczвадяmad_nazgul,
хорошее знание sql позволяет очень много реализовать именно на sql, что обеспечит и скорость и простоту кода.
Простоту кода? Когда у тебя по десятку JOIN-ов на запрос? Не смеши.
не надо утрировать, десяток джойнов это не много,
если для тебя это много, значит ты не очень хорошо разбираешся в базах. количество джойнов не является определением сложности.
...
Рейтинг: 0 / 0
24.12.2016, 13:06
    #39374344
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
Blazkowicz,
помино джойнов, надо грамотно создавать саму структуру базы, и тут никакой хибер не поможет.
и тем более связать логику построения данных.
любую более-менее сложную систему надо начинать строить с построения базы, а не кода .
что наблюдается всё реже и реже.
...
Рейтинг: 0 / 0
24.12.2016, 13:06
    #39374345
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
вадяне надо утрировать, десяток джойнов это не много,

Что утрировать? Да, это не много для обычной ERP.

вадяесли для тебя это много, значит ты не очень хорошо разбираешся в базах. количество джойнов не является определением сложности.
Уже сам забыл какую херню написал про "простоту кода"? ORM как раз позволяет избегать однотипных запросов с массой JOIN-ов. Когда у тебя в системе пачки жирных SQL ни о какой "простоте" речи быть не может.
...
Рейтинг: 0 / 0
24.12.2016, 13:08
    #39374346
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
вадяпомино джойнов, надо грамотно создавать саму структуру базы, и тут никакой хибер не поможет.

Проектирование БД к ORM никакого отношения не имеет. Сами придумал. Сам оспорил. Да?

вадялюбую более-менее сложную систему надо начинать строить с построения базы, а не кода .

Кто с этим спорит? Я точно так же знаю десятки примеров, когда построение системы начинают с GUI. Выходит Delphi - говно.

вадячто наблюдается всё реже и реже.
То что кто-то себе фиганул молотком по пальцу это не проблема в дизайне молотка.
...
Рейтинг: 0 / 0
24.12.2016, 14:20
    #39374364
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jdbc/hibernate pagination
авторУже сам забыл какую херню написал про "простоту кода"? ORM как раз позволяет избегать однотипных запросов с массой JOIN-ов. Когда у тебя в системе пачки жирных SQL ни о какой "простоте" речи быть не может
если для тебя написание хорошего запроса является сложностью - это твоя проблема.
однотипные запросы это не проблема и этого пугаться не стоит.
c помощью ORM невоможно построить наиболее быструю систему, ни одна прослойка не сможет заменить голову программмиста, владеющего нормальными знаниями sql, ни одна прослойка не сможет воспользоваться всеми возможностями каждой субд.
все эти прослойки используют лишь минимальную часть возможностей субд.
ни одна прослойка не сможет использовать (в применении к mysql) операторы case, concat, concat_ws, group_cocat и куча прочих.
по сути прослойка - это только джойны.
я для этих целей использую знания и специализированный инструмент, поэтому сделать запрос из любого количества таблиц и джойнов не проблема, помимо этого есть и подзапросы и функции и представления. которые позволяют многое,
это то, что ориентированно именно на работу с большим объёмом данных.
это то что позволяет выдать в код java наиболее быстрым образом наиболее подготовленные для дальнейшей обработки и отображения данные. по факту уже готовые для отображения.
и поверь , что алгоритмы и методы баз работают намного быстее , чем код на java.
авторКто с этим спорит? Я точно так же знаю десятки примеров, когда построение системы начинают с GUI. Выходит Delphi - говно.
это не значит, что эти примеры - правильное построение систем.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / jdbc/hibernate pagination / 25 сообщений из 35, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]