powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Библиотека hibernate - в чем сила брат ?
25 сообщений из 89, страница 2 из 4
Библиотека hibernate - в чем сила брат ?
    #38443566
GaraZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНапример вам нужно делать большую выборку из десятка таблиц. Hibernate позволяет очень простыми средствами менять структуру запроса на JOIN-ы либо подзапросы. И даже позволяет это делать динамически.
Разработка такой же задачи на pure SQL может занимать несколько дней. Приходится таскать несколько SQL запросов для одних и тех же таблиц в зависимости от того где они нужны. Решить N+1 через JOIN - перепистаь запрос почти с нуля. Оптимизировать JOIN через 2-3 отдельных запроса - переписать запрос почти с нуля. С Hibernate тоже самое делается в течении часа-двух.
ну не знаю я бы вынес сложный запрос в функцию
а потом бы менял функцию не влазя в клиентское приложение
не совсем понял что это за запрос такой "N+1 через JOIN"
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443568
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XПример - описал функцию с взаимодействием обьектов выложил на сервер.
Один раз обратился - передал параметры - получил результат.
Т.е. теряю гибкость и оператвиность в разработке ?
Слова знакомые, но я в упор не понимаю в чем суть вопроса? Какая гибкость? Какие функции?

HOME_XВ Hibernate - это описание отдельных классов. сколько обращений будет при выполнении
запроса

Это о чем вообще?

HOME_XТ.е. сколько получться классов -сколько будет и обращений к серверу БД ?
Верно понимаю ?

Это бред какой-то. Классы отдельно, "обращения к серверу БД" отдельно. Какая между ними связь вообще?
О каких вообще "обращениях" речь? SQL запросы? DDL запросы? SELECT выборки?

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

Задача описания и ведения версий структуры БД решается отдельными инструментами. Например liquibase.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443572
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНадо, надо.
К тому же весь этот кэш множится на 1/N, где N -- кол-во приложений (систем), работающих с БД.
А кэш БД -- он для всех.
Да я-то знаю. Просто здесь есть любители заявить что RDBMS всё прокеширует - другого не надо.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443582
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz...Разработка такой же задачи на pure SQL может занимать несколько дней. Приходится таскать несколько SQL запросов для одних и тех же таблиц в зависимости от того где они нужны...
Вот, ещё один "джедай". Вы, вообще, в курсе, что приложение на яве написаное во много раз дешевле, чем БД с процедурами, функциями и триггерами, которые не только в яве будут работать, но и в делфях, сях, и т.д. и т.п.? От явы только гуй требуется, которому цена - грош. База - совсем другое дело. Поэтому, когда мне говорят про ормы, или про перенос с одной платформы (с одной БД на другую) на другую - я хватаюсь за пистолет.
ПС. А насчёт масштабируемости - нефиг трындеть! Масштабируемость или решается средствами сервера SQL, или вообще никак не решается.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443584
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GaraZну не знаю я бы вынес сложный запрос в функцию

Это можно только если у вас запрос живет совершенно отдельно от структуры. Но зачастую получается и так, что меняя запрос вам придется менять и структуру. Так как это может группа запросов, например.

GaraZне совсем понял что это за запрос такой "N+1 через JOIN"
Это сложно объяснить на одной ассоциации. Проблема становиться явной, когда их несколько.
Есть Teacher, у него много Students. У Students ещё несколько ассоциаций. ТЗ у вас динамичное и в какой-то момент времени, вы обнаруживаете, что загружая одним запросом Teacher+Students, вы потом делаете N запросов чтобы догрузить детали Students.
Обратите внимание, что это вообще может нарисоваться на уровне бизнес-логике, а не на доступе к данным.
Чтобы решить проблему N+1 запроса вам нужно написать новый JOIN, с догрузкой новых деталей по всем Students of a Teacher.
В Hibernate - нового запроса не нужно. Указали что хотите в нужном месте читать с JOIN-ом - получили. Не меняя при этом структуры существующего запроса и логики.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443596
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeВот, ещё один "джедай".

Это слово оскорбительное, попрошу его ко мне не применять.

ShSergeВы, вообще, в курсе, что приложение на яве написаное во много раз дешевле, чем БД с процедурами, функциями и триггерами,

Как бе в курсе. Разработка на Javа дешевле разработки на других платформах. Для кого-то разве это ещё секрет?

ShSergeкоторые не только в яве будут работать, но и в делфях, сях, и т.д. и т.п.?
Ну, это аналогично заявленияв выше что Hibernate будет работать и на Oracle и на MySQL, поэтому он лучше. Никакого отношения к вопросу не имеет. Interop решается разными средствами. БД не единственное.

ShSergeОт явы только гуй требуется, которому цена - грош.

Какой нафиг гуй? Кто в здравом уме делает гуй на Java?

ShSergeБаза - совсем другое дело.

Ещё бы. Только к чему это?

ShSergeПоэтому, когда мне говорят про ормы, или про перенос с одной платформы (с одной БД на другую) на другую - я хватаюсь за пистолет.
Нервы ни к черту, или почему хватаешься?

ShSergeПС. А насчёт масштабируемости - нефиг трындеть! Масштабируемость или решается средствами сервера SQL, или вообще никак не решается.
ROFL
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443654
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Вы мой пост прочитайте несколько внимательнее, или замолчите со своим рофлом.
Я позволил себе ответить на Ваш пост? Это что Вас так задело? :)
Таки, я придерживаюсь своего мнения.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443677
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeВы мой пост прочитайте несколько внимательнее, или замолчите со своим рофлом.
Да, я тут всё время делаю то что велят.

ShSerge"джедай". Вы, вообще, в курсе ... цена - грош. ...я хватаюсь за пистолет.
... нефиг трындеть...
Это что Вас так задело? :)
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443682
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в java проекте основная логика в хранимках, то это не java проект.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443694
GaraZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЧтобы решить проблему N+1 запроса вам нужно написать новый JOIN, с догрузкой новых деталей по всем Students of a Teacher.
В Hibernate - нового запроса не нужно. Указали что хотите в нужном месте читать с JOIN-ом - получили. Не меняя при этом структуры существующего запроса и логики.
но вы же всеравно должны описать какие доп атрибуты хотите получить
какая разница делать это на уровне запроса или на уровне Hibernate


На счет масштабируемости по большему счету согласен с ShSerge

если будуте решать проблему масштабируемости только на уровне прикладного языка рано или поздно упретесь в базу (но это может быть не единственная проблема)
чем нагруженее проект тем раньше
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443696
Lecter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недавно коллегам пришлось отказаться от использования гибернета, слишком много ограничений для БД. Например, если данные не преведены в 3 форму то все пропало :)
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443702
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманЕсли в java проекте основная логика в хранимках, то это не java проект.
Я надеюсь вас не удивляет что в БД бывают еще и триггеры в которых
тоже инкапсулирована логика.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443703
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Это было замечение для ShSerge )
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443705
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443707
Lecter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GaraZесли будуте решать проблему масштабируемости только на уровне прикладного языка рано или поздно упретесь в базу (но это может быть не единственная проблема)


Если будете смотреть на БД как на черный ящик то проблема производительности станет перманентной.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443714
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lecter,

Не стоит излишне экстраполировать. Не стоит применять технологию низкого уровня (коей по сути является hibernate) в роли основной технологии приложения. На БД нужно смотреть как на черный ящик, пока это не вызывает проблем производительности. Когда наступают проблемы, вы меняете реализацию доступа к БД, в конкретном проблемном месте, если не завязалиьс по хардкору на hibernate.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443716
GaraZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lecter,

ну я о том же
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443717
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GaraZно вы же всеравно должны описать какие доп атрибуты хотите получить
какая разница делать это на уровне запроса или на уровне Hibernate

"Доп атрибуты" прописаны в маппинге и ими управлять нет смысла.
А вот "доп ассоциации" они у каждого запроса разные и в то время когда на SQL требует отдельного запроса (набора запросов) на каждый сценарий, где одни и те же ассоциации нужны в разных комбинациях, в Hibernate достаточно использовать FetchMode чтобы указать какие ассоциации каким образом грузить.

GaraZНа счет масштабируемости по большему счету согласен с ShSerge
Если основную логику реализовать на Java, то масштабирование БД перестанет быть проблемой. Во-первых это тупое хранилище, которое проще масштабировать. Во-вторых нагрузка перемещается на Java и минимизируется на уровне БД, за счет чего надобность в масштабировании БД возникает гораздо позже.

GaraZесли будуте решать проблему масштабируемости только на уровне прикладного языка рано или поздно упретесь в базу (но это может быть не единственная проблема) чем нагруженее проект тем раньше
Тема в очередной раз показывает что программисты слишком много уделяют внимания производительности, забывая о других важных факторах успешного ПО.
Дело в том что пока вы пишете свой highload сервер, для юзеров, которых у вас нет, ваши конкуренты экономят человеко-месяцы разработки путём использования ORM и выходят на рынок раньше. И когда у них настанет проблема 10K, они уже заработают достаточно финансов для её решения и при этом наработают огромный knowledge base по узким местам системы, чтобы направить ресурсы именно на решение актуальных проблем.
А вы в только к этому моменту будете запускать свой highload сервер с чудесной масштабируемостью, которые нафиг никому не нужны. Ведь все юзеры уже у конкурента.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443719
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczMasterZivНадо, надо.
К тому же весь этот кэш множится на 1/N, где N -- кол-во приложений (систем), работающих с БД.
А кэш БД -- он для всех.
Да я-то знаю. Просто здесь есть любители заявить что RDBMS всё прокеширует - другого не надо.

Я бы присоединился к этим любителям...

Конечно, без "другого не надо"...

Всё IT по сути строится на индексах и кэшировании.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443724
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LecterНедавно коллегам пришлось отказаться от использования гибернета, слишком много ограничений для БД. Например, если данные не преведены в 3 форму то все пропало :)
Недавно это лет 10 назад? Hibernate 2 не умел работать с ненормализоваными структурами. Поэтому основной задачей Hibernate 3 было адоптация возможностей маппинга под любые legacy БД.
Возможно ваши коллеги больше используют табличные данные, чем сложные графы ассоциаций. Тогда выбор ORM, естественно был ошибкой. ORM это способ хранить объекты в RDB, а не спосособ представлять RDB в виде объектов.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443734
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LecterНедавно коллегам пришлось отказаться от использования гибернета, слишком много ограничений для БД. Например, если данные не преведены в 3 форму то все пропало :)

Ну, это правильные ограничения.

Я кстати когда Hiber изучал, был удивлён, на сколько тонко его авторы понимают сущность разработки структуры РБД.
Так что они большие молодцы, они не делали ни одного лишнего ограничения. В хибере вообще нет ни одной кривулины в идеологии.
Так что всё правильно. Либо ты играешь по правилам нормального разработчика РБД, либо ты не используешь Hiber.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443742
GaraZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЕсли основную логику реализовать на Java, то масштабирование БД перестанет быть проблемой. Во-первых это тупое хранилище, которое проще масштабировать.

все дальше читать не смог извини
я как человек несколько лет разрабатывающий на oracle и участвующий в проектах, которые требуют высокой производительности, с этим категорически не согласен
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443749
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GaraZя как человек несколько лет разрабатывающий на oracle
Дальше можно не читать.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443753
GaraZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

дочитал ))
по поводу скорости разработки я с вами согласен
но со скоростью тоже не стоит сильно увлекатся

как бы решая потом проблемы узких мест
не пришлось переписывать половину проекта
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443758
Lecter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Недавно это 2 месяца назад. Я не принимал участие в этом проекте, посему точно не смогу ответить что именно их не устроило. Но проблема именно в том что гибернет не смог работать с уже существующей базой.


MasterZivНу, это правильные ограничения.
Тонкости РБД? 3 закона нормализации? Это по вашему тонкости? Или завязка НАПРЯМУЮ на таблицы это верное решение? Если да то это пять.
...
Рейтинг: 0 / 0
25 сообщений из 89, страница 2 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Библиотека hibernate - в чем сила брат ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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