|
|
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
День добрый! Правильно ли я понимаю, что реализация пагинации в hibernate - в смысле возможности вытаскивать кусками основана на формировании sql запросов с LIMIT/OFFSET (для postgresql в частности) ? Не подскажете ли "чистую jdbc" реализацию (может быть в каких-нибудь java-клиентах) пагинации? Собственно конечная цель написания TableModel с поддержкой пагинации. Пасиба ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 14:20 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
_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 критерий к запросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 14:39 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Пасиба за развернутный ответ. авторНаписал TableModel c ленивой фоновой постраничной загрузкой. Но, в итоге, понял что это никому нахрен не нужно. Ну почему-ж не нужно? - нужно - готов забрать! авторНи один пользователь не хочет просматривать мульён записей. С этим никто и не спорит. В тоже время таскать за раз из базы больше 50-100 записей вроде как и не очень разумно, а вот иметь доступ к записям если "основного" представления это не очень накладно вроде как и не очень плохо. Хотя ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 15:17 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
_usa__83_День добрый! Правильно ли я понимаю, что реализация пагинации в hibernate - в смысле возможности вытаскивать кусками основана на формировании sql запросов с LIMIT/OFFSET (для postgresql в частности) ? Не подскажете ли "чистую jdbc" реализацию (может быть в каких-нибудь java-клиентах) пагинации? Собственно конечная цель написания TableModel с поддержкой пагинации. Пасиба Зачем?! Когда есть spring-data в котором уже есть модель с пагинацией, сортировкой и фильтрацией. Плюс "из коробки" RESTFULL-API для работы с БД :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 15:27 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
_usa__83_, В тоже время таскать за раз из базы больше 50-100 записей вроде как и не очень разумно, а вот иметь доступ к записям если "основного" представления это не очень накладно вроде как и не очень плохо. Хотя ... кто тебе сказал, что не разумно???? базы они для того и предназначены чтоб выдавать данные какие нужны, а не все. можно по пальцам пересчитать когда юзеру нужно просматривать 1к записей, и это только если просто просмотреть.... максимум- 2 экрана, если вывод больше - не правильный фильтр для выбора. и фильр надо делать именно в запросе, а не на клиенте фильтровать из мильона записей. для базы менее накладно выбрать n-раз из мильна записе 50 и их отправить клиенту, чем выбрать все и отправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 15:47 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, не все со спрингом работают. И ТС тоже похоже только до хибера дошёл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 15:57 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
_usa__83_День добрый! Правильно ли я понимаю, что реализация пагинации в hibernate - в смысле возможности вытаскивать кусками основана на формировании sql запросов с LIMIT/OFFSET (для postgresql в частности) ? Не подскажете ли "чистую jdbc" реализацию ... Добрый день. В Java Persistence with Hibernate , в 19.2 Paging and sorting data подробно разбирается постраничное считывание с использованием Criteria API. В исходных кодах примеров входная точка - Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 17:48 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
Petro123mad_nazgul, не все со спрингом работают. И ТС тоже похоже только до хибера дошёл. IMHO Изучать hibernate не надо. Есть spring-data-jpa. Если этого не хватает, то есть Spring JdbcTemplate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 07:10 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, Ну. Это флейм)) В спринге нет ООП. А большая часть прогеров без него не могут. Ты в большинстве или меньшИнстве). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 09:27 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
Petro123mad_nazgul, Ну. Это флейм)) В спринге нет ООП. Если не трудно, то можете обосновать ваше утверждение. Мне казалось, что Spring ближе к ООП, чем JavaSE. Petro123А большая часть прогеров без него не могут. Ты в большинстве или меньшИнстве). Большая часть проггеров спокойно обходится без ООП. Достаточно посмотреть на любой legacy проект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 10:33 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
mad_nazgulЕсли не трудно, то можете обосновать ваше утверждение. Мне казалось, что Spring ближе к ООП, чем JavaSE. Ближе всего к ООП - это ОРМ. Продолжать? mad_nazgulБольшая часть проггеров спокойно обходится без ООП. Достаточно посмотреть на любой legacy проект. У меня нет столько практики, но это не так. Ставлю IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 11:40 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPetro123Ближе всего к ООП - это ОРМ. Только не говори Егору )) пусть будет больше таких как Егор). И больше альтернатив....какой нибудь DataSet (Delphi) Только не один спринг, т.к. я его (пока) не люблю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 11:50 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
Petro123Только не один спринг, т.к. я его (пока) не люблю. Это твои личные проблемы. Ничего лучше пока нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 12:11 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЭто твои личные проблемы. у меня нет проблем. Любить это одно, а работа есть работа. BlazkowiczНичего лучше пока нет. сравнивать спринг с хибером странно. Топик про новичка. Хочет менять хибер на спринг - пущай). И тему заодно, сменит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 12:32 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
Petro123mad_nazgulЕсли не трудно, то можете обосновать ваше утверждение. Мне казалось, что Spring ближе к ООП, чем JavaSE. Ближе всего к ООП - это ОРМ. Продолжать? ЧТА? ОРМ это попытка "впихнуть невпихуемое". Это уже не декларативное программирование, но еще не ООП. Попытка представить РМД в виде объектов приводит, к тому, что сущности это не таблицы, но и не полноценные объекты. Плюс для работы приходится использовать некий костыль, в виде CriteriaAPI либо HQL. Которым до SQL "как до Китая раком". В таком контексте Spring-data-jpa это нормальный декларативный подход. Причем не такой как в SQL, а намного проще. Но зато честный и для многих задач подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 08:35 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, Забавно. Ещё тройку лет назад я говорил почти как ты и 100проц. мемберов хвалили хибер. Было 95% орм и 5 проц. JDBC. Проведи опрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 08:57 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
Petro123mad_nazgul, Забавно. Ещё тройку лет назад я говорил почти как ты и 100проц. мемберов хвалили хибер. Было 95% орм и 5 проц. JDBC. Проведи опрос. Я же не против, чтобы использовали Hibernate. Я всегда говорил, что его использовать можно, если вся работа укладывается в spring-data-jpa и его Repository. В противном случае, проще писать запросы на SQL, минуя слой Hibernate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2016, 09:49 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, хорошее знание sql позволяет очень много реализовать именно на sql, что обеспечит и скорость и простоту кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2016, 11:01 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
вадяmad_nazgul, хорошее знание sql позволяет очень много реализовать именно на sql, что обеспечит и скорость и простоту кода. Простоту кода? Когда у тебя по десятку JOIN-ов на запрос? Не смеши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2016, 11:27 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадяmad_nazgul, хорошее знание sql позволяет очень много реализовать именно на sql, что обеспечит и скорость и простоту кода. Простоту кода? Когда у тебя по десятку JOIN-ов на запрос? Не смеши. не надо утрировать, десяток джойнов это не много, если для тебя это много, значит ты не очень хорошо разбираешся в базах. количество джойнов не является определением сложности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2016, 12:59 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, помино джойнов, надо грамотно создавать саму структуру базы, и тут никакой хибер не поможет. и тем более связать логику построения данных. любую более-менее сложную систему надо начинать строить с построения базы, а не кода . что наблюдается всё реже и реже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2016, 13:06 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
вадяне надо утрировать, десяток джойнов это не много, Что утрировать? Да, это не много для обычной ERP. вадяесли для тебя это много, значит ты не очень хорошо разбираешся в базах. количество джойнов не является определением сложности. Уже сам забыл какую херню написал про "простоту кода"? ORM как раз позволяет избегать однотипных запросов с массой JOIN-ов. Когда у тебя в системе пачки жирных SQL ни о какой "простоте" речи быть не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2016, 13:06 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
вадяпомино джойнов, надо грамотно создавать саму структуру базы, и тут никакой хибер не поможет. Проектирование БД к ORM никакого отношения не имеет. Сами придумал. Сам оспорил. Да? вадялюбую более-менее сложную систему надо начинать строить с построения базы, а не кода . Кто с этим спорит? Я точно так же знаю десятки примеров, когда построение системы начинают с GUI. Выходит Delphi - говно. вадячто наблюдается всё реже и реже. То что кто-то себе фиганул молотком по пальцу это не проблема в дизайне молотка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2016, 13:08 |
|
||
|
jdbc/hibernate pagination
|
|||
|---|---|---|---|
|
#18+
авторУже сам забыл какую херню написал про "простоту кода"? ORM как раз позволяет избегать однотипных запросов с массой JOIN-ов. Когда у тебя в системе пачки жирных SQL ни о какой "простоте" речи быть не может если для тебя написание хорошего запроса является сложностью - это твоя проблема. однотипные запросы это не проблема и этого пугаться не стоит. c помощью ORM невоможно построить наиболее быструю систему, ни одна прослойка не сможет заменить голову программмиста, владеющего нормальными знаниями sql, ни одна прослойка не сможет воспользоваться всеми возможностями каждой субд. все эти прослойки используют лишь минимальную часть возможностей субд. ни одна прослойка не сможет использовать (в применении к mysql) операторы case, concat, concat_ws, group_cocat и куча прочих. по сути прослойка - это только джойны. я для этих целей использую знания и специализированный инструмент, поэтому сделать запрос из любого количества таблиц и джойнов не проблема, помимо этого есть и подзапросы и функции и представления. которые позволяют многое, это то, что ориентированно именно на работу с большим объёмом данных. это то что позволяет выдать в код java наиболее быстрым образом наиболее подготовленные для дальнейшей обработки и отображения данные. по факту уже готовые для отображения. и поверь , что алгоритмы и методы баз работают намного быстее , чем код на java. авторКто с этим спорит? Я точно так же знаю десятки примеров, когда построение системы начинают с GUI. Выходит Delphi - говно. это не значит, что эти примеры - правильное построение систем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2016, 14:20 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39374317&tid=2123335]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
73ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 387ms |

| 0 / 0 |
