|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
hVostt Kachalov - значит, при наличии планов смены ORM, надо следовать спецификации JPA Да смена ORM это вообще мифическая фича, кто в здравом уме в большом живом проекте будет менять ORM? Даже со сменой СУБД будут явые проблемы. Это так, небольшой наброс ) Менять не будут. Просто их все построили и причесали под одну гребёнку))))) Под один интерфейс. Имхо более половины проектов на JPA ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 07:56 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
hVostt Да смена ORM это вообще мифическая фича, кто в здравом уме в большом живом проекте будет менять ORM? Даже со сменой СУБД будут явые проблемы. - проекты разные бывают. Есть проекты где изначально закладывается мультибазовость, т е возможность работы с разными базами у разных заказчиков. А что касается смены ORM, тоже бывает - когда неожиданно оказывается что нужная фича не поддерживается текущей ORM или усилия по вкрячиванию нужной ORM (тип и версия) в сервер приложений слишком велики. hVostt Kachalov - одновременно с Hibernate появилась спецификация Java Data Objects (JDO) и JDOQL, так что кто там на ком основан вопрос в принципе темный Почему же тёмный? https://en.wikipedia.org/wiki/Java_Persistence_Query_Language JPQL is based on the Hibernate Query Language (HQL), an earlier non-standard query language included in the Hibernate object-relational mapping library. Hibernate and the HQL were created before the JPA specification. As of Hibernate 3 JPQL is a subset of HQL. Опять врут и темнят? ) - нет, просто не обладают всей полнотой информации) Википедию пишут обычные люди, не всегда обладающие нужными экспертными знаниями. Скажите честно, до того как я написал абревиатуру JDOQL Вы про нее знали или вспоминали (это я не для того чтобы обидеть, а для примера)? Уверен что ни автор статьи, ни его читатели не участвовали в создании спецификации JPA и разработке Hibernate, именно по этому история темная. Или к примеру тот же Hibernate - ведь наверняка уверены, что до него ничего не было? В то время как TopLink был портирован на Java в 1998 со Smalltalk. Или также появившийся в начале 2000х Apache Cayenne. И т д. Идеи и настроения витали в воздухе, поэтому лично я утверждать что спецификацию JPA сделали именно на основе Hibernate не стал бы. Ниже интересная цитата из книги "Persistence in the Enterprise: A Guide to Persistence Technologies": ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 10:23 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
hVostt Kachalov - значит, при наличии планов смены ORM, надо следовать спецификации JPA Да смена ORM это вообще мифическая фича, кто в здравом уме в большом живом проекте будет менять ORM? Даже со сменой СУБД будут явые проблемы. Это так, небольшой наброс ) Я думаю что для какого-нибудь ентерпрайза смена ORM - подобна смерти будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 10:30 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton Я думаю что для какого-нибудь ентерпрайза смена ORM - подобна смерти будет. - в большинстве проектов работают в рамках JPA (а хинты выносят в настройки), поэтому смена ORM проходит достаточно легко (проблемы там где делают unwrap и хардкодят хинты - но ... сами понимаете, это по сути дурной тон кодирования). Хотя, если быть честным, в большинстве проектов используют Hibernate и никаких предпосылок использовать что то иное нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 10:54 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Kachalov mayton Я думаю что для какого-нибудь ентерпрайза смена ORM - подобна смерти будет. - в большинстве проектов работают в рамках JPA (а хинты выносят в настройки), поэтому смена ORM проходит достаточно легко (проблемы там где делают unwrap и хардкодят хинты - но ... сами понимаете, это по сути дурной тон кодирования). Хотя, если быть честным, в большинстве проектов используют Hibernate и никаких предпосылок использовать что то иное нет) Тоесть говорим ORM - подразумеваем Хибернейт. Это как говорим Ксерокс - подразумеваем некий *Noname* копировальный аппарат. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:09 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton Тоесть говорим ORM - подразумеваем Хибернейт. - я бы сформулировал иначе) Говорим ORM, подразумеваем JPA (хотя есть крупные EE проекты где работают без JPA - например Diasoft в некоторых своих широко внедренных проектах использует Apache Cayenne или Google App Engine, где применяют JDO, есть и проекты на iBATIS). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:25 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Kachalov mayton Я думаю что для какого-нибудь ентерпрайза смена ORM - подобна смерти будет. - в большинстве проектов работают в рамках JPA (а хинты выносят в настройки), поэтому смена ORM проходит достаточно легко ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:39 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Kachalov hVostt Да смена ORM это вообще мифическая фича, кто в здравом уме в большом живом проекте будет менять ORM? Даже со сменой СУБД будут явые проблемы. - проекты разные бывают. Есть проекты где изначально закладывается мультибазовость, т е возможность работы с разными базами у разных заказчиков. А что касается смены ORM, тоже бывает - когда неожиданно оказывается что нужная фича не поддерживается текущей ORM или усилия по вкрячиванию нужной ORM (тип и версия) в сервер приложений слишком велики. Ну обычно, это означает почти полное переписывание кодовой базы, или её части. Нельзя взять другой ORM, и написать декораторы к существующим интерфейсам. Опять же. Если не проектировалось всё таким образом, что ORM не лезет дальше слоя доступа к данным ни в каком виде. Kachalov - нет, просто не обладают всей полнотой информации) Википедию пишут обычные люди, не всегда обладающие нужными экспертными знаниями. Скажите честно, до того как я написал абревиатуру JDOQL Вы про нее знали или вспоминали (это я не для того чтобы обидеть, а для примера)? Уверен что ни автор статьи, ни его читатели не участвовали в создании спецификации JPA и разработке Hibernate, именно по этому история темная. Или к примеру тот же Hibernate - ведь наверняка уверены, что до него ничего не было? В то время как TopLink был портирован на Java в 1998 со Smalltalk. Или также появившийся в начале 2000х Apache Cayenne. И т д. Идеи и настроения витали в воздухе, поэтому лично я утверждать что спецификацию JPA сделали именно на основе Hibernate не стал бы. Ниже интересная цитата из книги "Persistence in the Enterprise: A Guide to Persistence Technologies": Не знал :) Но чему тогда верить? И зачем столько тьмы в простом вопросе? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 15:16 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
hVostt Но чему тогда верить? И зачем столько тьмы в простом вопросе? - не стоит создавать мифы (и ограничивать кругозор). Тем кто начинал свой путь с Hibernate, сложнее, так как особой необходимости копаться в альтернативах и истории нет, тем кто видел как это Hibernate появился, проще, так как уже все альтернативы попробованы. hVostt Ну обычно, это означает почти полное переписывание кодовой базы, или её части. Нельзя взять другой ORM, и написать декораторы к существующим интерфейсам. Опять же. Если не проектировалось всё таким образом, что ORM не лезет дальше слоя доступа к данным ни в каком виде. - зачем возлагать на ORM дополнительную логику? Данные должны быть отмаплены на БД и закэшены, там где можно - большего от ORM не требуется ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 17:03 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Андрей Панфилов Ну вот если смотреть на хибер, то у него таки-много расширений JPA направленных на улучшение производительности, так что есть сомнения, что слезть "прооптимизированной" хиберовской модели будет просто. - что может быть лучше Native SQL в смысле производительности? (вопрос провакациононный) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 17:06 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Хибер хорош пока никто не пытается в context прогрузить всю базу ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 17:15 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Zzz79 Kachalov пропущено... - что может быть лучше Native SQL в смысле производительности? (вопрос провакациононный) вопрос в том зачем она тебе эта производительность? что такое производительность в рамках облачных технологий и современных серверов ? Современные сервера с 2005 года то толком частоту свою уже не поднимают. А что облаки? Они за счет распределенных данных могут скейлить только чтение. Как только пошла запись или конкурирующая запись то эти облаки хуже монолита. А SQL знать просто надо. Это как латынь среди врачей. Единый язык на котором можно описывать данные. И создал его математик. Это ... не коллекции с аррейлистами и не циклы крутить. А теория множеств. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 23:03 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Kachalov hVostt Но чему тогда верить? И зачем столько тьмы в простом вопросе? - не стоит создавать мифы (и ограничивать кругозор). Тем кто начинал свой путь с Hibernate, сложнее, так как особой необходимости копаться в альтернативах и истории нет, тем кто видел как это Hibernate появился, проще, так как уже все альтернативы попробованы. Что плохого, что JPA за основу взял HQL? Создание подобного мифа -- бессмысленно. Для чего? Kachalov - зачем возлагать на ORM дополнительную логику? Данные должны быть отмаплены на БД и закэшены, там где можно - большего от ORM не требуется В таком виде сейчас существую так называемые micro ORM, потому как "серьёзные" ORM предоставляют гораздо больше сервисов. Если решить только одну задачу -- маппить данные в классы, то остальное придётся всё кодить. А когда 10 программистов разработают свой слой доступа к данным, обнаружится, что они просто сделали принципиально одно и то же, но каждый на свой лад. Собственно такие проекты, как Hibernate пытались обобщить множество подобных решений под одной крышей. Поэтому ORM это давно не только маппинг. Обычно там и репо и UOW, и свой язык запросов, кеширование, отслеживание изменений, аудит, точки расширения и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 23:06 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Zzz79 пс. я на работе почти месяц боролся за то ,что в 2020 году не нужно батчить файл размером 10000 строк но так и не смог побороть олд скулеров,которые выросли на памяти в 128 кб) ты им просто тупо не можешь обьяснить,что сейчас у сервиса 16 гиг озу и ему твои буферы в 4 кб или 500 кб без разницы А расскажи как ты себе сам смысл батча понимаешь? Может они были правы да ты просто не про то думал. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 23:43 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Zzz79 тоесть вот у меня на проде сервак 16 гиг -полностью выделен под мой сервис - какого хрена я должен юзать батч для отправки распарсенного csv- ну это же просто смешно аргументация лида - а вдрух когда то придет очень большой файл)) А вам повезло с лидом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 03:29 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Zzz79 и вообще конечно каждый прогер должен хотя бы немного отдуплять куда его приложение ставится Поэтому мы видим кучу версий каждой библиотеки вида: версия под 8Гб оперативы версия для 16Гб оперативы ... версия для слабодумающих ) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 03:31 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Мне кажется чрезмерное потребление памяти - просто признак другой проблемы. Например бизнес-сущности дублируются в памяти. Каждый поток владеет независимой копией хотя по бизнесу - сущности уникальны. Многие операции агрегации могут быть выполнены очень быстро и эффективно в БД (SQL) или BigData, без перекачивания их на сторону App. И долго не отрабатывают финализаторы. Данные уже вроде-бы не нужны но какие-то глобальные коллекции их продолжают удерживать (типичный leak для java) и явной команды на освобождение никак не приходит. Тоесть дело даже не в 16Гб а в том что если проблема системная то там хоть 32 и хоть 64 ставь она будет с ростом бизнеса также безсмысленно потреблять все что есть. Кстати для GC класса Parallel простое бездумное увеличение Xmx приводило к новой проблеме. К фризу потоков которые обслуживали сетевые сокеты и как следствие появлялись новые сетевые ошибки еще более сложные и комплексные чем просто OOM. Как реагирует G1GC на простое растягивание памяти - непонятно. Возможно в меньшей степени но тем не менее фризы надо регулировать доп-параметрами. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 09:20 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Zzz79, >он отправляет порциями файл- как еще Сишник наверно. Они любят буфера, кеши, батчи. Чтобы записать строку будут буфер под нее выделять и частями копировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 10:25 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Zzz79 Kachalov - что может быть лучше Native SQL в смысле производительности? (вопрос провакациононный) вопрос в том зачем она тебе эта производительность? что такое производительность в рамках облачных технологий и современных серверов ? если только ты не пишешь новый гугол- тогда к чему все эти разговоры ?ваши 1000 запросов в день сейчас обработает даже утюг) чем то навеяло антипатерн GAS FACTORY проецируемый на производиельность системы- важные архитекторы не очень важных проектов раздувая щеки сетуют на нехватку производительности) уж на сколько у нас большой проект ,которым пользуется где то процентов 15% населения РФ и это мы на хибере сидим а вам то куда с вашими цветочными магазинами с двумя посетилями в месяц) - какой то беспредметный наезд. Я работал в разных проектах (в том числе ... бла-бла-бла ... сейчас это ЕМИАС) и нативные запросы, необходимость их оптимизации и пятиэтажные джойны с позапросами - не редкость (и эффект на производительность бывает более чем существенным). Лично я не считаю что native sql -это правильный путь однако плевать на производительность даже PetShop глупо. Когда дебильный код работает у разраба на трех записях в базе - это не значит что он будет так же хорошо работать на нескольких миллионах записей на проде. В ЕМИАС, например, записей довольно много а скорость выполнения запроса (метода) это критический параметр который лимитируется, а вот кластеризация "утюга", к сожалению, не повышает скорость выполнения отдельных методов, что накладывает обязательства на архитектора и разработчика, так как тупым увеличением мощности железа вопрос не решается ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 10:26 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
hVostt Что плохого, что JPA за основу взял HQL? Создание подобного мифа -- бессмысленно. Для чего? - Вы зачем то начали форсить тему "кто на ком стоял", я Вас поправил, что история более сложная чем это написал хз кто в википедии. Если для Вас это важно, можно дискутировать дальше, хотя мне этот вопрос кажется не существенным. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 10:31 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Kachalov hVostt Что плохого, что JPA за основу взял HQL? Создание подобного мифа -- бессмысленно. Для чего? - Вы зачем то начали форсить тему "кто на ком стоял", я Вас поправил, что история более сложная чем это написал хз кто в википедии. Если для Вас это важно, можно дискутировать дальше, хотя мне этот вопрос кажется не существенным. Hibernate was started in 2001 by Gavin King with colleagues from Cirrus Technologies as an alternative to using EJB2-style entity beans. The original goal was to offer better persistence capabilities than those offered by EJB2; by simplifying the complexities and supplementing certain missing features. The final release date of the JPA 1.0 specification was 11 May 2006 as part of Java Community Process JSR 220. The JPA 2.0 specification was released 10 December 2009 (The Java EE 6 platform requires JPA 2.0.[1]) The JPA 2.1 specification was released 22 April 2013 (The Java EE 7 platform requires JPA 2.1.[2]) Я тему не с потолка взял. Написано и очевидно из истории. Зачем вы тут пытаетесь какое-то РенТВ включать, тёмная история бла-бла-бла, в чём смысл? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 10:36 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Zzz79 лид у нас хороший,но вот с этой батч системой я в корне не согласен- в текущих реалиях это GAS FACTORY Общие решения лучше и всем параметрам, кроме возможно сложности. Тем более всё, что связано с загрузкой данных, есть правила, которых лучше придерживаться. Это как на стройке, вы начинаете рассказывать, что на этом участке ничего на голову вам не упадёт, и зачем носить каску. Но у вас замечательный лид, который заставляет носить каску везде, и не важно на каком участке стройки вы там ходите. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 10:38 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Kachalov чем это написал хз кто в википедии Вот это пренебрежительное отношение к вики никогда не понимал. Там вообще-то источники есть со ссылками. И типа никто из тысяч разработчиков не спохватился не бросил исправление. Ну-ну. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 10:40 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
Zzz79 mayton пропущено... А расскажи как ты себе сам смысл батча понимаешь? Может они были правы да ты просто не про то думал. он отправляет порциями файл- как еще Ну а для взаимодействия двух систем какая разнциа. 100 вставок по 1 строке. Или 1 вставка по 100 строк. P.S. Большие раки по 5 рублей... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 10:41 |
|
Удаление записей соответствующих условию из БД в Hibernate
|
|||
---|---|---|---|
#18+
mayton Zzz79 пропущено... он отправляет порциями файл- как еще Ну а для взаимодействия двух систем какая разнциа. 100 вставок по 1 строке. Или 1 вставка по 100 строк. P.S. Большие раки по 5 рублей... Снаружи никакой. А прогерам оверхед. В ТЗ должно быть записано какой максимальный размера файл поддерживает код. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 10:51 |
|
|
start [/forum/topic.php?fid=59&msg=39973056&tid=2120761]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
158ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 289ms |
0 / 0 |