Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> hibrnate 
:(
    Опции темы
katala
Дата 15.5.2006, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



народ расскажите мне плиз какие преимущества и какие недостатки у технологии hibernate по сравнению с обычной работой с базами данных???? заранее огромное спасибо за ответ  
PM MAIL   Вверх
Tony
Дата 16.5.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Так себе.чтобы исползовать в ком. проектах нужно знать от а-я.  smile  


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
ALKS
Дата 16.5.2006, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 6
Всего: 11



достоинство основное в абстрогировании от специфики SQL cинтаксиса конкретного SQL сервера. есть естественно у другие приимущества но они вторичны.

недостаткок первый, как правильно заметили - фреймворк нужно знать, нужно уметь пользоваться и конфигурить, нужно уметь обходить ограничения. т.е. это не так просто как pure java.sql

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

мое имхо - если вам не нужна поддержка мульти-баз, то и не надо вам оно. а если нужна - жизнь спасёт. smile 
PM   Вверх
tux
Дата 16.5.2006, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Еще два достоинства: 
  • на простых операциях с данными (insert, update, delete, простые selectы) может сильно сократить объем кода за счет того, что Hibernate сам генерирует запросы. Хотя у большинства опытных программеров уже есть какие-то свои реализованные паттерны, которые может быть и оптимальнее, чем hibernate, но для начинающего это важно
  • программер работает с привычными классами, атрибутами и т.п. Хотя как только приложение выйдет за уровень Hello, world, придется познакомится и с базами данных и с таблицами. smile Но во многих случаях работа с классами снизит вероятность ошибки
Цитата(ALKS @  16.5.2006,  21:22 Найти цитируемый пост)
часто используя всякие труки предоставляемые специвическим синтаксисом конкретного SQL сервера можно добиться заметного эфекта, а тут вас в этом ограничивают...

Это конечно, но ничто не мешает использовать hibernate и plain sql одновременно. В Hibernate даже есть специальный механизм для поддержки родных диалектов - native SQL queries. 

О недостатках уже сказали. Вообще главное (впрочем, как и для любого другого программного продукта) - разумное использование. Тогда Hibernate подойдет практически для любого проекта. Единственное, чего точно нельзя добиться - повышения производительности. smile 
PM MAIL Skype GTalk Jabber YIM   Вверх
ALKS
Дата 16.5.2006, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 6
Всего: 11



ну насчет сокращения объема кода.... smile смело можете добавлять размер кода самого  hibernate который становиться частью вашего приложения. и размер конфигов - до кучи. smile 

насчет привычных классов и атрибутов... вот я например вырос как программер из приложения для баз данных. для меня оперировать языком структурированых запросов при работе с реляционными БД до сих пор кажется намного более естественным, чем классами и объектами... но. я согласен что если разработчик в Базах не рубит, то лучше ему прямой SQL в руки не давать. это как гранатомет пятикантропу....

plain sql это конечно да, но это костыль - чтоб лазейка была когда по другому - ну ни как. smile

кстати повышение произвотильности нельзя добиться по сравнению с качественных прямым кодом. а вот если код кривой - то как раз можно. всеж таки то что hibernate умеет он умеет хорошо и правильно. smile гораздо лучше и правельнее кривых рук. 
PM   Вверх
jimur
Дата 16.5.2006, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 21.4.2006

Репутация: 1
Всего: 3



для меня основные недостатки:
- непрозрачность
- влияние на модель

преимущества названы выше

альтернатива для проектов, где одна база - Spring + чистый SQL 
PM MAIL   Вверх
katala
Дата 16.5.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



всем большое спасибо за помощь!!!! еще одна просьба: может кто подкинет ссылочки где материал можно взять про hibernate
(одна уже есть www.hibernate.org) и про java где описывается именно работа с базами(как с использованием хибера так и обычный способ). а то мне курсовую надо писать разбирался  то на английском но теперь красиво перевести не смогу.(знания английского не позволяют smile не тот уровень) может кто даст какой нибудь материал или ссылки по этим  материалам. буду очень благодарен!!!! 
PM MAIL   Вверх
jimur
Дата 16.5.2006, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 21.4.2006

Репутация: 1
Всего: 3



поищи тут:
www.javable.com 
PM MAIL   Вверх
ALKS
Дата 16.5.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 6
Всего: 11



Цитата(jimur @ 16.5.2006,  17:37)
альтернатива для проектов, где одна база - Spring + чистый SQL

для меня приимущество Spring в данном случае не очень очевидны. стандартного класса-костыля для java.sql который содержит обертки для объектных типов и всякие мелочи типа универсального метода close() smile размером в 200 строк и становиться самым самым предком вообщем-то хвататет... и никакой рефлексии smile 
PM   Вверх
jimur
Дата 16.5.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 21.4.2006

Репутация: 1
Всего: 3



Цитата(ALKS @  16.5.2006,  18:17 Найти цитируемый пост)
для меня приимущество Spring в данном случае не очень очевидны. стандартного класса-костыля для java.sql который содержит обертки для объектных типов и всякие мелочи типа универсального метода close() smile размером в 200 строк и становиться самым самым предком вообщем-то хвататет... и никакой рефлексии smile  

это вопрос личных предпочтений smile
не люблю костылей в своем коде, люблю писать мало простого кода...
рефлекшн кстати там тольно на стадии инициализации используется, что есть мизер smile
 
PM MAIL   Вверх
ALKS
Дата 16.5.2006, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 6
Всего: 11



свой самодельный костыль или костыль фирмы Spring? smile 
разницы по сути - никакой. 
PM   Вверх
jimur
Дата 16.5.2006, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 21.4.2006

Репутация: 1
Всего: 3



Цитата(ALKS @  16.5.2006,  19:48 Найти цитируемый пост)
разницы по сути - никакой.  

почти...
только чем больше используется код, тем меньше вероятность ошибки в нем 
PM MAIL   Вверх
ALKS
Дата 16.5.2006, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 6
Всего: 11



Цитата(jimur @ 16.5.2006,  20:39)
Цитата(ALKS @  16.5.2006,  19:48 Найти цитируемый пост)
разницы по сути - никакой.  

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

скажи это Microsoft smile

на самом деле у меня консервативный взгляд, я предпочитаю избегать использование сторонних либ если без этого можно малой кровью обойтись. ну вот параноя у меня такая. smile 
PM   Вверх
jimur
Дата 16.5.2006, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 21.4.2006

Репутация: 1
Всего: 3



Цитата(ALKS @  16.5.2006,  20:49 Найти цитируемый пост)

скажи это Microsoft smile

на самом деле у меня консервативный взгляд, я предпочитаю избегать использование сторонних либ если без этого можно малой кровью обойтись. ну вот параноя у меня такая. smile  


да, согласен, есть нюанс - прозрачность кода (открытость + !навороченность)
IoC + удобные врапперы спринга _много_ крови экономят smile  
PM MAIL   Вверх
Tony
Дата 17.5.2006, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Цитата(ALKS @ 16.5.2006,  20:49)
Цитата(jimur @ 16.5.2006,  20:39)
Цитата(ALKS @  16.5.2006,  19:48 Найти цитируемый пост)
разницы по сути - никакой.  

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

скажи это Microsoft smile

на самом деле у меня консервативный взгляд, я предпочитаю избегать использование сторонних либ если без этого можно малой кровью обойтись. ну вот параноя у меня такая. smile

Ты не одинок  smile .Часто бивает, что в исползуемом продукте bug.А новый релиз через 6 мес.  


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0885 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.