powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Удаление записей соответствующих условию из БД в Hibernate
25 сообщений из 168, страница 6 из 7
Удаление записей соответствующих условию из БД в Hibernate
    #39972984
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Kachalov
- значит, при наличии планов смены ORM, надо следовать спецификации JPA


Да смена ORM это вообще мифическая фича, кто в здравом уме в большом живом проекте будет менять ORM? Даже со сменой СУБД будут явые проблемы.

Это так, небольшой наброс )

Менять не будут. Просто их все построили и причесали под одну гребёнку))))) Под один интерфейс.
Имхо более половины проектов на JPA
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973036
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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":
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973043
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Kachalov
- значит, при наличии планов смены ORM, надо следовать спецификации JPA


Да смена ORM это вообще мифическая фича, кто в здравом уме в большом живом проекте будет менять ORM? Даже со сменой СУБД будут явые проблемы.

Это так, небольшой наброс )

Я думаю что для какого-нибудь ентерпрайза смена ORM - подобна смерти будет.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973056
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я думаю что для какого-нибудь ентерпрайза смена ORM - подобна смерти будет.

- в большинстве проектов работают в рамках JPA (а хинты выносят в настройки), поэтому смена ORM проходит достаточно легко (проблемы там где делают unwrap и хардкодят хинты - но ... сами понимаете, это по сути дурной тон кодирования). Хотя, если быть честным, в большинстве проектов используют Hibernate и никаких предпосылок использовать что то иное нет)
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973073
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov
mayton
Я думаю что для какого-нибудь ентерпрайза смена ORM - подобна смерти будет.

- в большинстве проектов работают в рамках JPA (а хинты выносят в настройки), поэтому смена ORM проходит достаточно легко (проблемы там где делают unwrap и хардкодят хинты - но ... сами понимаете, это по сути дурной тон кодирования). Хотя, если быть честным, в большинстве проектов используют Hibernate и никаких предпосылок использовать что то иное нет)

Тоесть говорим ORM - подразумеваем Хибернейт.

Это как говорим Ксерокс - подразумеваем некий *Noname* копировальный аппарат.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973094
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Тоесть говорим ORM - подразумеваем Хибернейт.

- я бы сформулировал иначе) Говорим ORM, подразумеваем JPA (хотя есть крупные EE проекты где работают без JPA - например Diasoft в некоторых своих широко внедренных проектах использует Apache Cayenne или Google App Engine, где применяют JDO, есть и проекты на iBATIS).
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973106
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov
mayton
Я думаю что для какого-нибудь ентерпрайза смена ORM - подобна смерти будет.

- в большинстве проектов работают в рамках JPA (а хинты выносят в настройки), поэтому смена ORM проходит достаточно легко
Ну вот если смотреть на хибер, то у него таки-много расширений JPA направленных на улучшение производительности, так что есть сомнения, что слезть "прооптимизированной" хиберовской модели будет просто.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973188
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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":


Не знал :) Но чему тогда верить? И зачем столько тьмы в простом вопросе?
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973252
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Но чему тогда верить? И зачем столько тьмы в простом вопросе?

- не стоит создавать мифы (и ограничивать кругозор). Тем кто начинал свой путь с Hibernate, сложнее, так как особой необходимости копаться в альтернативах и истории нет, тем кто видел как это Hibernate появился, проще, так как уже все альтернативы попробованы.

hVostt

Ну обычно, это означает почти полное переписывание кодовой базы, или её части.
Нельзя взять другой ORM, и написать декораторы к существующим интерфейсам.

Опять же. Если не проектировалось всё таким образом, что ORM не лезет дальше слоя доступа к данным ни в каком виде.

- зачем возлагать на ORM дополнительную логику? Данные должны быть отмаплены на БД и закэшены, там где можно - большего от ORM не требуется
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973253
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Ну вот если смотреть на хибер, то у него таки-много расширений JPA направленных на улучшение производительности, так что есть сомнения, что слезть "прооптимизированной" хиберовской модели будет просто.

- что может быть лучше Native SQL в смысле производительности? (вопрос провакациононный)
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973263
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хибер хорош пока никто не пытается в context прогрузить всю базу
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973362
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Kachalov
пропущено...

- что может быть лучше Native SQL в смысле производительности? (вопрос провакациононный)

вопрос в том зачем она тебе эта производительность?
что такое производительность в рамках облачных технологий и современных серверов ?

Современные сервера с 2005 года то толком частоту свою уже не поднимают.
А что облаки? Они за счет распределенных данных могут скейлить только чтение.
Как только пошла запись или конкурирующая запись то эти облаки хуже монолита.

А SQL знать просто надо. Это как латынь среди врачей. Единый язык на котором
можно описывать данные. И создал его математик. Это ... не коллекции с аррейлистами
и не циклы крутить. А теория множеств.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973365
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov
hVostt
Но чему тогда верить? И зачем столько тьмы в простом вопросе?

- не стоит создавать мифы (и ограничивать кругозор). Тем кто начинал свой путь с Hibernate, сложнее, так как особой необходимости копаться в альтернативах и истории нет, тем кто видел как это Hibernate появился, проще, так как уже все альтернативы попробованы.


Что плохого, что JPA за основу взял HQL? Создание подобного мифа -- бессмысленно. Для чего?

Kachalov
- зачем возлагать на ORM дополнительную логику? Данные должны быть отмаплены на БД и закэшены, там где можно - большего от ORM не требуется


В таком виде сейчас существую так называемые micro ORM, потому как "серьёзные" ORM предоставляют гораздо больше сервисов.

Если решить только одну задачу -- маппить данные в классы, то остальное придётся всё кодить. А когда 10 программистов разработают свой слой доступа к данным, обнаружится, что они просто сделали принципиально одно и то же, но каждый на свой лад.

Собственно такие проекты, как Hibernate пытались обобщить множество подобных решений под одной крышей. Поэтому ORM это давно не только маппинг. Обычно там и репо и UOW, и свой язык запросов, кеширование, отслеживание изменений, аудит, точки расширения и т.д.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973376
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79

пс. я на работе почти месяц боролся за то ,что в 2020 году не нужно батчить файл размером 10000 строк
но так и не смог побороть олд скулеров,которые выросли на памяти в 128 кб) ты им просто тупо не можешь обьяснить,что сейчас у сервиса 16 гиг озу и ему твои буферы в 4 кб или 500 кб без разницы

А расскажи как ты себе сам смысл батча понимаешь? Может они были правы да ты просто не про то думал.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973394
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
тоесть вот у меня на проде сервак 16 гиг -полностью выделен под мой сервис - какого хрена я должен юзать батч для отправки распарсенного csv- ну это же просто смешно

аргументация лида - а вдрух когда то придет очень большой файл))


А вам повезло с лидом.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973395
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
и вообще конечно каждый прогер должен хотя бы немного отдуплять куда его приложение ставится


Поэтому мы видим кучу версий каждой библиотеки вида:

версия под 8Гб оперативы
версия для 16Гб оперативы
...

версия для слабодумающих )
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973427
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется чрезмерное потребление памяти - просто признак другой проблемы. Например бизнес-сущности
дублируются в памяти. Каждый поток владеет независимой копией хотя по бизнесу - сущности уникальны.
Многие операции агрегации могут быть выполнены очень быстро и эффективно в БД (SQL) или BigData,
без перекачивания их на сторону App.

И долго не отрабатывают финализаторы. Данные уже вроде-бы не нужны но какие-то глобальные коллекции
их продолжают удерживать (типичный leak для java) и явной команды на освобождение никак не приходит.

Тоесть дело даже не в 16Гб а в том что если проблема системная то там хоть 32 и хоть 64 ставь она будет
с ростом бизнеса также безсмысленно потреблять все что есть.

Кстати для GC класса Parallel простое бездумное увеличение Xmx приводило к новой проблеме. К фризу потоков
которые обслуживали сетевые сокеты и как следствие появлялись новые сетевые ошибки еще более
сложные и комплексные чем просто OOM. Как реагирует G1GC на простое растягивание памяти - непонятно.
Возможно в меньшей степени но тем не менее фризы надо регулировать доп-параметрами.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973459
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,

>он отправляет порциями файл- как еще
Сишник наверно.
Они любят буфера, кеши, батчи.
Чтобы записать строку будут буфер под нее выделять и частями копировать.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973460
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
Kachalov
- что может быть лучше Native SQL в смысле производительности? (вопрос провакациононный)

вопрос в том зачем она тебе эта производительность?
что такое производительность в рамках облачных технологий и современных серверов ?

если только ты не пишешь новый гугол- тогда к чему все эти разговоры ?ваши 1000 запросов в день сейчас обработает даже утюг)

чем то навеяло антипатерн GAS FACTORY проецируемый на производиельность системы- важные архитекторы не очень важных проектов раздувая щеки сетуют на нехватку производительности)

уж на сколько у нас большой проект ,которым пользуется где то процентов 15% населения РФ и это мы на хибере сидим
а вам то куда с вашими цветочными магазинами с двумя посетилями в месяц)

- какой то беспредметный наезд. Я работал в разных проектах (в том числе ... бла-бла-бла ... сейчас это ЕМИАС) и нативные запросы, необходимость их оптимизации и пятиэтажные джойны с позапросами - не редкость (и эффект на производительность бывает более чем существенным). Лично я не считаю что native sql -это правильный путь однако плевать на производительность даже PetShop глупо. Когда дебильный код работает у разраба на трех записях в базе - это не значит что он будет так же хорошо работать на нескольких миллионах записей на проде. В ЕМИАС, например, записей довольно много а скорость выполнения запроса (метода) это критический параметр который лимитируется, а вот кластеризация "утюга", к сожалению, не повышает скорость выполнения отдельных методов, что накладывает обязательства на архитектора и разработчика, так как тупым увеличением мощности железа вопрос не решается
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973462
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

Что плохого, что JPA за основу взял HQL? Создание подобного мифа -- бессмысленно. Для чего?

- Вы зачем то начали форсить тему "кто на ком стоял", я Вас поправил, что история более сложная чем это написал хз кто в википедии. Если для Вас это важно, можно дискутировать дальше, хотя мне этот вопрос кажется не существенным.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973465
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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])

Я тему не с потолка взял. Написано и очевидно из истории. Зачем вы тут пытаетесь какое-то РенТВ включать, тёмная история бла-бла-бла, в чём смысл? :)
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973467
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
лид у нас хороший,но вот с этой батч системой я в корне не согласен- в текущих реалиях это GAS FACTORY


Общие решения лучше и всем параметрам, кроме возможно сложности. Тем более всё, что связано с загрузкой данных, есть правила, которых лучше придерживаться.

Это как на стройке, вы начинаете рассказывать, что на этом участке ничего на голову вам не упадёт, и зачем носить каску.

Но у вас замечательный лид, который заставляет носить каску везде, и не важно на каком участке стройки вы там ходите.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973469
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov
чем это написал хз кто в википедии


Вот это пренебрежительное отношение к вики никогда не понимал. Там вообще-то источники есть со ссылками. И типа никто из тысяч разработчиков не спохватился не бросил исправление. Ну-ну.
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973470
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79
mayton
пропущено...

А расскажи как ты себе сам смысл батча понимаешь? Может они были правы да ты просто не про то думал.

он отправляет порциями файл- как еще

Ну а для взаимодействия двух систем какая разнциа. 100 вставок по 1 строке. Или 1 вставка по 100 строк.

P.S. Большие раки по 5 рублей...
...
Рейтинг: 0 / 0
Удаление записей соответствующих условию из БД в Hibernate
    #39973477
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Zzz79
пропущено...

он отправляет порциями файл- как еще

Ну а для взаимодействия двух систем какая разнциа. 100 вставок по 1 строке. Или 1 вставка по 100 строк.

P.S. Большие раки по 5 рублей...

Снаружи никакой. А прогерам оверхед.
В ТЗ должно быть записано какой максимальный размера файл поддерживает код.
...
Рейтинг: 0 / 0
25 сообщений из 168, страница 6 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Удаление записей соответствующих условию из БД в Hibernate
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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