powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Библиотека hibernate - в чем сила брат ?
25 сообщений из 89, страница 1 из 4
Библиотека hibernate - в чем сила брат ?
    #38442012
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня господа !


Работаю по статье http://habrahabr.ru/post/29694/

Не совсем понимаю сущности вещей - поясните пожалуйста !

На стороне сервер БД сделан набор таблиц на стороне вызова(web-application) описаны эти таблицы много/подробно/основательно (каждая таблица представлена классом)
Библиотека hibernate - определяет взаимодействие между этими классами, их изменение и т.д.

В чем преймущества и прелести такой концепции ?
За данные отвечает сервер, в крайнем случае можно описать процедуру на сервере - по взаимодействию
Зачем такие сложности на стороне Application ?

Заранее благодарен !
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442031
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HOME_X,

сила в том, чтобы абстрагироваться от табличек и работать с объектами. Это удобно.(гугли ORM)


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

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

Верно ли понимаю ?
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442038
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

т.е. кода, ошибок время на тестирование будет втрое больше
а при изменении структуры - дублируй текст обьекта ???
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442039
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для меня ОРМ - прежде всего возможность валидировать код во время разработки, а не исполнения. Ну и обновление клиентскоого кода при изненениях сущностей. БД. Если-же все sql-стейтменты обрамить кавычками, как обычно делается без ОРМ-а, то управление кода на клиенте возможно только ручное. И о проблемах вы узнаете только в рантайме.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442045
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunterклиенте возможно только ручное


А тот факт что вручную Вы делаете изменение Application кода - Вас не смущает ?
Это не одно и тоже по обьему ?

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

P.S.
все просмотры и изменения данных делаю на стороне базы через процедурный код
(представление, пакетные функции и т.д.)
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442048
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90гугли ORM


Суть понятна - спасибо !
Классически проблемы ORM - есть и остались.
Все старался решать на уровне базы - от клиента шли исключительно вызову .

redwhite90есть средства по получения из классов табличек и наоборот.


Дайте пожалуйста пару ссылок
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442090
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хз что хорошего в hibernate. Для примитивных объектов и узких случаев с небольшим кол-вом связанных записей в отношениях, ещё более менее ок. Как только начинается пагинация, обработка записей тыщами, так начинаются костыли и проблемы с производительностью.
По-моему лучше spring jdbc template с колбеками так до сих пор ничего и не придумали.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442104
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90HOME_X,

сила в том, чтобы абстрагироваться от табличек и работать с объектами. Это удобно.(гугли ORM)


есть средства по получения из классов табличек и наоборот.

Нет, это неудобно.

А сила в том, чтобы не писать кучу запросов с их обработкой, запросов на вставку и изменение. И в том, что автоматом получается кроссбазаданность.

Запросы на сложные выборки на хибере писать неудобно, не смотря на все их HQL.

Тут у хибера слабость.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442208
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivполучается кроссбазаданность.


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


Дайте пожалуйста пару ссылок
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442215
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HOME_X,
тут
http://techblog.bozho.net/?p=935
описано как вручную выгрузить скрипт, который можно исполнить

если надо просто получить базу данных, соответствующую маппингу, то читать тут(есть такое свойство hbm2ddl.auto - у него разные значения могут быть - почитайте):
http://stackoverflow.com/questions/438146/hibernate-hbm2ddl-auto-possible-values-and-what-they-do


тут написано как из бд получить классы(сам не пробовал, но от окружающих слышал, что работает)
http://www.wikihow.com/Generate-Hibernate-Pojo-Classes-from-DB-Tables
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442218
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а это про слабости hibernate

http://stackoverflow.com/questions/1607819/weaknesses-of-hibernate

смысл примерно в том, что если правильно им пользоваться, то всё будет работать лучше, чем используя jdbc
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442222
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.mkyong.com/hibernate/how-to-generate-code-with-hibernate-tools/

тут лучше написано как из готовой бд получить классы
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38442337
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hibernate - это один из взглядов на кодинг. От объектов к БД. Но иногда разработчик поставлен
в другие условия. Заказчик требует чтобы интеграция и развитие шло "от БД к Объектам". И новые
объекты разработчик не создаёт в схеме БД. И при этом БД может оперировать сущностями которые
трудно или тяжело отображаются в объекты ORM. В частности в БД могут быть Types, Stored procedures,
Functions, Multitable Views с instead of триггером e.t.c. И разработчик вынужден
подстраиваться под меняющуюся схему в БД.

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

Не правильно. Изменение RDBMS в крупной системе это на столько не тривиальная задача, что одним только Hibernate она не решается. Возможно частично. Но эта задача единоразовая и преплетать для неё такой фреймверк смысла нет.

Hibernate даёт возможность существенно экономить время разработки уровня работы с БД, когда у вас данные представляют из себя сложный граф. Т.е. между записями очень много ассоциаций. И вам часто приходится с этими ассоциациями работать.

Например вам нужно делать большую выборку из десятка таблиц. Hibernate позволяет очень простыми средствами менять структуру запроса на JOIN-ы либо подзапросы. И даже позволяет это делать динамически.
Разработка такой же задачи на pure SQL может занимать несколько дней. Приходится таскать несколько SQL запросов для одних и тех же таблиц в зависимости от того где они нужны. Решить N+1 через JOIN - перепистаь запрос почти с нуля. Оптимизировать JOIN через 2-3 отдельных запроса - переписать запрос почти с нуля. С Hibernate тоже самое делается в течении часа-двух.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443455
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczС Hibernate тоже самое делается в течении часа-двух.
Звучит, как рождественская сказка, брадт. Ну дай бох.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443471
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonBlazkowiczС Hibernate тоже самое делается в течении часа-двух.
Звучит, как рождественская сказка, брадт. Ну дай бох.
Та ладно... Fetch Mode указал, перезапустил проект и протестил. Всё.
Я же не говорю что Хибера всё остальное работает без косяков. Но конкретно в этом вопросе экономия на фоне рукописных SQL радикальная.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443475
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Уважаемый Blazkowicz

Насколько производительно работает данная библиотека ?
Т.е. используються ли ВСЕ возможности базы ?

Относительно диалекта SQL здесь все понятно.
А как насчет изменений версий это диалекта, скажем перешли с Oracle 10 на Oracle 11
Или иной пример в Oracle 9-10-11 - есть предложение UPDATE - "тяжело" работает.
есть предложение MERGE (вроде для других целей),
но призводительнсть в разы больше, имеет ряд удобный доп. возможностей.
Соответственно делаю "насильственный" запрос MERGE.
Относительно трафика сети и количества обращений к серверу ?
А другие механизмы базы (тригера, храним. процедуры, типа, job) HIBERNATE понимает ?

Буду весьма признателен за ответы .

GaraZполучить независимость от БД.


Склоняюсь более к концепции "кросс-базовости".
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443485
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XНасколько производительно работает данная библиотека ?

Достаточной для многих решений. А производительность единственный критерий качества ПО? Намного важнее чтобы оно горизонтально масштабировалось и просто поддерживалось.

HOME_XТ.е. используються ли ВСЕ возможности базы ?

Нет, конечно.

HOME_XА как насчет изменений версий это диалекта, скажем перешли с Oracle 10 на Oracle 11

Оракловый диалект, только для 8ки свой. Для остальных версий, общий.

HOME_XИли иной пример в Oracle 9-10-11 - есть предложение UPDATE - "тяжело" работает.
есть предложение MERGE (вроде для других целей),
но призводительнсть в разы больше, имеет ряд удобный доп. возможностей.
Соответственно делаю "насильственный" запрос MERGE.

Переписывается узкое место на SQL.

HOME_XОтносительно трафика сети и количества обращений к серверу ?

Что с ними?

HOME_XА другие механизмы базы (тригера, храним. процедуры, типа, job) HIBERNATE понимает ?

Частично.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443488
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё важное достоинство в Hibernate это Level 2 Cache. К plain SQL такое прикрутить с нуля не просто.
И не надо рассказывать про то что RDBMS сама всё закеширует, на уровне Java кеши не нужны.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443489
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем энтерпрайзовее решение тем оно сильнее сидит на игле одного произведителя БД.
MSSQL, Db2, Oracle. Они штучны. Рукотворны. И затачиваются напильничками уже в эксплуатации. Туда-же
идут хинты, матерализация представлений, профили запросов, сложные системы джобов,
и реплик. И такие системы никто не верстает в "хибере". Это просто немыслимо.
Там каждый CREATE TABLE - это архитектурный дискурс. Как создать? Какие опции физического
хранения? Безопасность.

Всякие ЦМС и прочие "универсалы" идут отдельной категорией. Для них никто не ставит
задачу оптимизации на уровне постановки. И занимаются ей как правило отдельно от
Java-кодинга другие люди.
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443535
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczHOME_XОтносительно трафика сети и количества обращений к серверу ?

Что с ними?



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

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

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

Т.е. теряю гибкость и оператвиность в разработке ?
...
Рейтинг: 0 / 0
Библиотека hibernate - в чем сила брат ?
    #38443562
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЕщё важное достоинство в Hibernate это Level 2 Cache. К plain SQL такое прикрутить с нуля не просто.
И не надо рассказывать про то что RDBMS сама всё закеширует, на уровне Java кеши не нужны.

Надо, надо.

К тому же весь этот кэш множится на 1/N, где N -- кол-во приложений (систем), работающих с БД.
А кэш БД -- он для всех.
...
Рейтинг: 0 / 0
25 сообщений из 89, страница 1 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Библиотека hibernate - в чем сила брат ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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