|
|
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Уважаемые знатоки Java! Сам я не Java-разработчик,поэтому извиняюсь,если будут некорректные мысли у меня по этому поводу. Скажите мне,в чем ценность использования Hibernate?-упрощение процесса разработки и т.д.? Насколько я понял,Java напрямую не пишет SQL запросы, а их генерит Hibernate. А так происходит маппинг между объектами и таблицами. Так вот ,я счиатю это полная херня(если я правильно понял),что разработчик не пишет SQL-запросы и сидит,как слепой котенок - что же там HIbernate пишет в базу?Я понимаю,что можно отмониторить SQL-запросы. В любом случае разработчки напишет SQL- запрос более оптимизированный ,чем HIBERnate. Буду очень рад,если развеете мой пессимизм. (если я вообще правильно понимаю HIBERNATE) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 10:43 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
если приложение не data-centric, то преимущества ORM перевешивают недостатки Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 11:03 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Идеология верна, но высказывания слишком импульсивны. Hibernate, сохраняет POJO объекты в реляционную БД, на основе файлов отображения (mapping-файлов), которые представляют собой XML подобную структуру. Насчет неоптимизироанных запросов - енто ты потаропился, во всяком случае тебе никто не мешает писать прямые запросы используя коннект который предоставляет Hibernate. Таким образом, разработчик может сосредоточиться на своей бизнес логике, и не париться по поводу CRUD операций связанных с persistence-объектами. Ну а если у тя прога юзает одну таблицу, то да Hib тебе не нужен :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 11:07 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Я не понимаю: что сложного написать SQL-запрос и обходится без уровня прокладки-тампакса HIbernate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 11:07 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
VadyaУважаемые знатоки Java! Сам я не Java-разработчик,поэтому извиняюсь,если будут некорректные мысли у меня по этому поводу. Скажите мне,в чем ценность использования Hibernate?-упрощение процесса разработки и т.д.? Насколько я понял,Java напрямую не пишет SQL запросы, а их генерит Hibernate. А так происходит маппинг между объектами и таблицами. Так вот ,я счиатю это полная херня(если я правильно понял),что разработчик не пишет SQL-запросы и сидит,как слепой котенок - что же там HIbernate пишет в базу?Я понимаю,что можно отмониторить SQL-запросы. В любом случае разработчки напишет SQL- запрос более оптимизированный ,чем HIBERnate. Буду очень рад,если развеете мой пессимизм. (если я вообще правильно понимаю HIBERNATE) Ну в целом вы правильно понимаете задачу Hibernate Только вот выводы несколько того... Hibernate ценен тем, собственно не только он а и любая библиотека ORM, что избавляет программиста от кучи рутины типа беганья по ResultSet'ам и обработки тучи исключений при работе с БД, даёт переносимость между БД, предоставляет удобное API, в том числе и API для native - запросов. Конечно Entity Beans занимаются собственно тем же, но Hibernate более гибок и прост в применении, кроме того сфера его применения не ограничивается App Server'ом. А по вашему получается, что и Application Server это зло не меряное, что это такое сам управляет пулами соеденений, сам управляет пулами компонентов, херня какая. Да и Java тоже не лучше! Где управление памятью как в С? А то что эти вещи иногда в разы увеличивают скорость разработки и её качество? Можно написать распределённые компоненты "с нуля" не используя Application Server, придумать свой протокол передачи, свою библиотеку работы с БД, потом когда понядобится работа в кластере дописать и её, потом при переходе на другую платформу, адаптировать, потом потребуется обеспечить доступ к компонентам с других платформ, о5 писать и отлаживать и тд, и тп. Тоже можно и базой данных, яж не знаю как она там внутре с моими запросами себя ведёт, нафиг , базу тоже "с нуля". Но закончится ли такой проект хоть в когда-нибудь, хоть чем-нибудь вразумительным? Не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 11:21 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Вопрос имхо провокационный и развеение пессимизма в данном случае возможно только при самостоятельном изучении теории ORM и реальном желании его развеять(или хотябы доказать свою правоту, основываясь на фактах и собственном опыте). Чтите Hibernate in Action. Hibernate - продукт, имеющий не одну версию, по сей день развивающийся и зарекомендовавший себя как хороший инструмент. То, что вы считаете это полной херней, не значит, что это так и есть. Если вы не знаете основ ОРМ, не знаете Java (возмжно не знаете ООП (просто предположение) ), то что конкретно вы хотите узнать на форуме в 3 словах, не прочитав и кусочка литературы, не орентируясь в "местных" ценностях??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 12:14 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
VadyaТак вот ,я счиатю это полная херня(если я правильно понял),что разработчик не пишет SQL-запросы и сидит,как слепой котенок - что же там HIbernate пишет в базу?Я понимаю,что можно отмониторить SQL-запросы. В любом случае разработчки напишет SQL- запрос более оптимизированный ,чем HIBERnate. если писать на машшинных кодах то человек их отоптимизирует гораздо луче чем любой человек. Конечно пожно открыть дебагер и посмотреть что там натварил компилятор. но тыкаться слепой как катенок что именно там процессор выполняет не хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 12:26 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Евгений Путилинесли писать на машшинных кодах то человек их отоптимизирует гораздо луче чем любой человеккакого из указанных человеков считать компьютером? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 12:37 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Вопрос был провокационный:-)) спасибо за ответы. Единственная проблема: наши Java почему-то целый день отлавливали ошибку,причина которой был констрэйнт not null. То есть оин пытались вставить Null в столбец,который not null. На вопрос:что за SQL-запрос,мне в ответ.хрен знает - его HIBERNATE генерит. Скорее всего это они тупят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 16:51 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Vadya наши Java почему-то целый день отлавливали ошибку,причина которой был констрэйнт not null. То есть оин пытались вставить Null в столбец,который not null. На вопрос:что за SQL-запрос,мне в ответ.хрен знает - его HIBERNATE генерит. Скорее всего это они тупят. Воистину тупят - в Hibernate есть настраиваемый logging , да и DB можно заставить журнарировать SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 18:08 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
------------- Vadya наши Java почему-то целый день отлавливали ошибку,причина которой был констрэйнт not null. То есть оин пытались вставить Null в столбец,который not null. На вопрос:что за SQL-запрос,мне в ответ.хрен знает - его HIBERNATE генерит. Скорее всего это они тупят. Воистину тупят - в Hibernate есть настраиваемый logging , да и DB можно заставить журнарировать SQL. Ну и кроме того при описании поля в Hibernate можно указать что оно not null :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 18:15 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
бгыгы ..+ с правильно выбранной политикой управления оторванными от сессии объетами и настроенным кешированием на ряде задач хибернейт показывает в разы лучшую производительность, чем приложения, написаные традиционным образом "взял соединение, запрос, резалт-сет, распарсил в структуру, отдал соединение" just another freak in the Freak Kingdom ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 21:10 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Я тоже не использую хибер, поэтому хаить его не хочу. Вопрос скорее в следующем "Зачем нужен ORB". Я делал большой проект без него и все замечательно получилось... С моей точки зрения, зависимость программного кода от структуры БД - не есть хорошо!!! Поэтому вопрос, какие признаки должны присутствовать,чтобы принять решение об испоьзовании хибера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:18 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
am_sasaПоэтому вопрос, какие признаки должны присутствовать,чтобы принять решение об испоьзовании хибера?А кого-нибудь есть примеры удачной реализации большого проекта с использованием Hibernate? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:25 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
am_sasaЯ тоже не использую хибер, поэтому хаить его не хочу. Вопрос скорее в следующем "Зачем нужен ORB". Я делал большой проект без него и все замечательно получилось... С моей точки зрения, зависимость программного кода от структуры БД - не есть хорошо!!! Поэтому вопрос, какие признаки должны присутствовать,чтобы принять решение об испоьзовании хибера? т.е. ты хочешь сказать, что твой программный код использует бд, но при этом не зависит от ее структуры? :-) забавно, для чего тебе тогда бд? выполнять запросы вида Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:31 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Timm т.е. ты хочешь сказать, что твой программный код использует бд, но при этом не зависит от ее структуры? :-) забавно, для чего тебе тогда бд? выполнять запросы вида Код: plaintext зато, при дороботке структуры БД, переписываются SQL запросы и,если потребуются, маленькие кусочки кода! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:42 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
am_sasaЯ тоже не использую хибер, поэтому хаить его не хочу. Вопрос скорее в следующем "Зачем нужен ORB". Я делал большой проект без него и все замечательно получилось... С моей точки зрения, зависимость программного кода от структуры БД - не есть хорошо!!! Поэтому вопрос, какие признаки должны присутствовать,чтобы принять решение об испоьзовании хибера? Что-то я не пойму единственные программы код которых не зависит от структуры БД, которые я могу себе представить, это программы не использующие БД. :) Можно конечно прекрасно обходиться без ORM никтож не спорит с этим. И потом, что такое "большой проект"? Десктоп? Серверное приложение? Эти две вещи сильно между собой отличаются идеологически, а значит и подходами. В десктопном приложении вполне себе можно просто получить конект к БД и парсить результ сеты, в серверном на уровне EJB... ой вряд ли, будет абсолютно не масштабируемо. То есть встаёт выбор либо стандартные Entity Bean, либо какой-нить ORM. О5 же вопросы переносимости. SQL хоть и стандард, но реализации от разных производителей серьёзно отличаются. Hibernate позволяет сделать переносимое преложение. Ну и потом повторюсь ещё раз, у Hibernate удобный API. Именно програмный API, в принцепе вполне возможно написать приложение без строчки кода на SQL или HQL. Это удобно, когда запрос нужно конструировать в зависимости от каких то условий. Да и просто по моим личным ощущения быстрее получается в плане скорости разработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:46 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
вопрос как реализовать логику не имея в памяти объекты реализующие структуру БД - это отдельная тема, вполне решаемая... Это, я так понимаю, вы про хранимые процедуры? А presentation layer у вас тоже на них реализован? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:59 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Sergey Karpenkov Что-то я не пойму единственные программы код которых не зависит от структуры БД, которые я могу себе представить, это программы не использующие БД. :) оговорюсь, JAVA программы, но в файлах настройки есть имена полей, которые нужно будет сложить... Sergey Karpenkov И потом, что такое "большой проект"? Десктоп? Серверное приложение? Томкат + MSSQL2000 - расчетно-кассовый центр, все расчеты в настройках, чтобы не зависить от законодательства!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 11:11 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
funikovyuri Это, я так понимаю, вы про хранимые процедуры? А presentation layer у вас тоже на них реализован? 1.получилось без хранимых процедур, хотя это не принципиально, просто пытались не зависить и от типа БД. 2.презентатион ХМЛ+ХСЛТ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 11:13 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Несмотря на все плюсы Hibernate, позвольте спросить: А часто ли Ваш проект, особенно большой проект, требует переноса между БД. Как правило, такое случается очень редко, а для БОЛЬШОГО проекта еще реже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 11:27 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
AndreySerjНесмотря на все плюсы Hibernate, позвольте спросить: А часто ли Ваш проект, особенно большой проект, требует переноса между БД. Как правило, такое случается очень редко, а для БОЛЬШОГО проекта еще реже. Согласен. В условиях проекта под конкретного заказчика такая вероятность практически равно 0. В случае проекта не привязаного к конкретному заказчику такая ситуация вполне вероятна. Во всяком случие минусом системы это никак не станет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 12:57 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
am_sasa Timm т.е. ты хочешь сказать, что твой программный код использует бд, но при этом не зависит от ее структуры? :-) забавно, для чего тебе тогда бд? выполнять запросы вида Код: plaintext зато, при дороботке структуры БД, переписываются SQL запросы и,если потребуются, маленькие кусочки кода! Ну в случае с Hibernate придётся доработать только описание нового поля а его обработку придётся дорабатывать и в том и в другом случае. Так что никакого выигрыша не вижу. По поводу "не имея в памяти объекты реализующие структуру" я так полагаю вы очень лукавите. Знать структуру данных с которыми работаешь и иметь их представление на уровне объектов это единственный возможный путь. Вы можете конечно хранить полученные наборы записей в массивах или скажем векторах, но сути это не меняет, в любом случае хранить их надо и знать что ты храниш тоже, иначе как потом обрабатывать, кроме того вы сознательно добавляете себе не нужный геморой по парсингу результ сетов в какие то коллекции, не говоря уж о том, что в коллекциях данные безликие, доступ только по индексу и надо всегда помнить, что вот в 3й позиции у меня лицевой счёт а в 10й сумма. Вообщем гимор редкий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 13:43 |
|
||
|
В чем преимущество использования HIBERNATE
|
|||
|---|---|---|---|
|
#18+
Sergey Karpenkov Знать структуру данных с которыми работаешь и иметь их представление на уровне объектов это единственный возможный путь. Знать структуру данных - безусловно, а остальное не верно! Я сразу сказал,что это отдельный разговор как это сделать... Sergey KarpenkovВы можете конечно хранить полученные наборы записей в массивах или скажем векторах, но сути это не меняет, в любом случае хранить их надо и знать что ты храниш тоже, иначе как потом обрабатывать правильно, но сделано так,что не зависит от структуры БД! Sergey Karpenkovкроме того вы сознательно добавляете себе не нужный геморой по парсингу результ сетов в какие то коллекции, не говоря уж о том, что в коллекциях данные безликие, доступ только по индексу и надо всегда помнить, что вот в 3й позиции у меня лицевой счёт а в 10й сумма. Вообщем гимор редкий. а это не правильно, можно придумать, как без этого обойтись, сложно,но можно... А вообще, я не говорил,что надо делать как я, я хотел узнать, чем поможет хибер? теперь кажись понял... Если программа построена на использовании копии структуры БД в памяти,то хибер - то что надо!!!! так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 15:10 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33424213&tid=2150379]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 485ms |

| 0 / 0 |
