powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / В нужен ли Hibernate ?
25 сообщений из 42, страница 1 из 2
В нужен ли Hibernate ?
    #36967382
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто реально считает HIbernate нужной и полезной технологией?

Лично я использую JDBC (не чистый а несколько своих класов, аналог как в спринге)

Вижу единственный плюс:
1) Если предполагается смена баз данных.

И минусы:
1) нужно программистов обучать новой технологии достаточно много нюансов усложняется тестирование. Лишние глюки. И т д.
В результате уменьшается скорость разработки кода.


Просьба разделять то реальную важность хибернейт и ORM и просто защиту технологии потому что вы ее уже используете и привыкли.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36967786
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrephilosКто реально считает HIbernate нужной и полезной технологией?

Лично я использую JDBC (не чистый а несколько своих класов, аналог как в спринге)а какое отношение Hibernate / JDBC / JPA / ORM имеют к проектированию БД?

схема БД проектируется под хранение данных, а перечисленные технологии - способ доступа к данным. считаю, что флейм можно закрывать ввиду отсутствия вопроса. Проектирование БД не зависит от способа доступа - ORM это будет JDBC или ADO, ODBC... или unixODBC
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36968176
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 20.11.2010 15:45, Andrephilos wrote:

> Кто реально считает HIbernate нужной и полезной технологией?

Ну я.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36968464
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VoDAAndrephilosКто реально считает HIbernate нужной и полезной технологией?

Лично я использую JDBC (не чистый а несколько своих класов, аналог как в спринге)а какое отношение Hibernate / JDBC / JPA / ORM имеют к проектированию БД?



єто форум дискусии. более подходящей ветки не нашел
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36968467
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VoDA,

спасибо за ответ в другой ветке.
Приблезительно то что я хотел услышать.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36968469
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivOn 20.11.2010 15:45, Andrephilos wrote:

> Кто реально считает HIbernate нужной и полезной технологией?

Ну я.


а в каких случаях он полезный
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36968895
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrephilosа в каких случаях он полезный
без него придется писать свой собственный хибернейт. Полагаю проще воспользоваться уже написанным ;)
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969400
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StalkerSAndrephilosа в каких случаях он полезный
без него придется писать свой собственный хибернейт. Полагаю проще воспользоваться уже написанным ;)

Нет не придется.Для роботи с БД достаточно создать для каждой сущности класс в котором есть методы:
добавить, извлечь, удалить, заменить + те которые нужны в конкретной задачи

Привемр select
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class MyEntity{
    public static List<MyEntity> getListInstance(){
         List<Map>  list =MyDBconnnect.select("select * from .......");
         List<MyEntity>  listEntitys=new ArrayList<Hashtable>();
   
         for(int i= 0 ;i<list.size();i++){
              listEtitys.add(new MyEntity(list.get(i)));
         }
        return lisEntitys;

    }
..........................
}


И этого достаточно. Это намного проще чем розбираться в дебрях Hibernate , а потом и в глюках.
Проще и дешевле чем обучать юниоров это хибернейту его настройкам и так далее...

Однозначно такой подход лучше для приложений аля интерент-магазин и меньше.

Интерисует коменты в каких случаях это плохой подход.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969409
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 21.11.2010 20:01, Andrephilos wrote:
> а в каких случаях он полезный

В случаях его правильного использования, разумеется.

Позволяет напр. НЕ ПИСАТЬ около 70% запросов для N разных СУБД.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969534
Hauer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 21.11.2010 20:01, Andrephilos wrote:
> а в каких случаях он полезный

В случаях его правильного использования, разумеется.

Позволяет напр. НЕ ПИСАТЬ около 70% запросов для N разных СУБД.


В принципе много чего даёт он. Зависит от приложения. Например, еще дает такие вещи как lazay loading, кэш.
Теоретически избавляет от необходимости перекладывать данные из запроса в DTO какие-нибудь, но на практике так лучше в общем случае не делать.
Что касается разных СУБД, то все-таки иногда что-то приходится менять при переходе в конфигурационных файлах Hibernate. Например, Oracle имеет sequence механизм, кто-то имеет identity, есть и другие тонкости.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969726
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivOn 21.11.2010 20:01, Andrephilos wrote:
> а в каких случаях он полезный

В случаях его правильного использования, разумеется.

Позволяет напр. НЕ ПИСАТЬ около 70% запросов для N разных СУБД.


Да!. Я писал выше что это единственый плюс, быстрая переконфигурация под другую БД. (еслиесть надобность использования других СУБД)

Соответственно топик, о том есть ли еще плюсы?
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969745
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrephilosНет не придется.Для роботи с БД достаточно создать для каждой сущности класс в котором есть методы:
добавить, извлечь, удалить, заменить + те которые нужны в конкретной задачи

Привемр select
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class MyEntity{
    public static List<MyEntity> getListInstance(){
         List<Map>  list =MyDBconnnect.select("select * from .......");
         List<MyEntity>  listEntitys=new ArrayList<Hashtable>();
   
         for(int i= 0 ;i<list.size();i++){
              listEtitys.add(new MyEntity(list.get(i)));
         }
        return lisEntitys;

    }
..........................
}
Пример очень сильно похож на толстые-сущьности, которые и сами себя умеют сохранять. Мне ближе подходи DAO, а не fat-entities.

Дальше в вашем примере есть несколько косяков и лисапедов:
public static List<MyEntity> getListInstance() сделан статиком, значит MyDBconnnect является также статическим объектом, а вероятнее всего (из названия) это целый класс. Это проблема если приложение вдруг потребует НЕСКОЛЬКО соединений с БД.
Как вы к этому будете подключать пул соединений - сами писать? еще один лисапед?

Дальше предполагаю, что основной косяк будет здесь: new MyEntity(list.get(i)) - для каждой сущности придется написать маппинг - зачем если есть готовые фреймворки? если нет желания изучать JPA / Hibernate - работать с iBatics.

AndrephilosИ этого достаточно. Это намного проще чем розбираться в дебрях Hibernate , а потом и в глюках.
Проще и дешевле чем обучать юниоров это хибернейту его настройкам и так далее...

Однозначно такой подход лучше для приложений аля интерент-магазин и меньше.
Интерисует коменты в каких случаях это плохой подход.Этого достаточно чтобы народ кодил с помощью этой системы, но сама система будет сложнее DAO с Hibernate - Hibernate уже оттестирован, опробован под нагрузкой и т.п. А в случае своего велосипеда все это придется повторить для вашего самопального ORM.

Юниоров не обучают настройке Hibernate, также как никто не будет учить настройке вашего ORM - всех будут учить только применять ORM.

Однозначно готовые ORM в том числе Hibernate лучше подхода с самопальными ORM-ками. Особенно если нет опыта применения ORM в 3-5 боевых проектах.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969747
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HauerЧто касается разных СУБД, то все-таки иногда что-то приходится менять при переходе в конфигурационных файлах Hibernate. Например, Oracle имеет sequence механизм, кто-то имеет identity, есть и другие тонкости.А AUTO не подходит для этого случая?

PS у нас чаще работала.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969821
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VoDA

Дальше в вашем примере есть несколько косяков и лисапедов:
public static List<MyEntity> getListInstance() сделан статиком, значит MyDBconnnect является также статическим объектом, а вероятнее всего (из названия) это целый класс. Это проблема если приложение вдруг потребует НЕСКОЛЬКО соединений с БД.
Как вы к этому будете подключать пул соединений - сами писать? еще один лисапед?

Дальше предполагаю, что основной косяк будет здесь: new MyEntity(list.get(i)) - для каждой сущности придется написать маппинг - зачем если есть готовые фреймворки? если нет желания изучать JPA / Hibernate - работать с iBatics.



MyDBconnnect - небольшой клас который берет конект из стандартного пула например томкат, обявления пула одна строка. Куча стандартных пулов не использовать же из а пула Хибернейт.

Для МуEntity - нужно писать мапинг, но и в хибернейт надо.
для одного поля одна строка типа :
Код: plaintext
1.
id=Integer.valueOf(mae.get("field_id")).intValue();
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969839
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hauer
Зависит от приложения. Например, еще дает такие вещи как lazay loading, кэш.


Добавим два плюса в итоге имеем:
1) Возможность перенастройки на другую СУБД
2) кеш (уточните в каких случаях это плюс при каких нагрузках, напрмер при нагрузке один запрос к случайной страницы в минуту вряд ли это плюс)
3) lazy loading (тоже нужно уточнить для каких приложений это плюс а для каких и не надо)
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969859
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VoDA
Юниоров не обучают настройке Hibernate, также как никто не будет учить настройке вашего ORM - всех будут учить только применять ORM.


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

В общем случае я не утверждаю что он не нужен, хочу выяснить когда он нужен для каких задач он лучше . Каким должно быть приложение чтоб хибернейт себя окупал.
Повторюсь для веб сайтов таких как интернет магазин и меньше, я не вижу целесообразности его использования.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969876
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrephilosКуча стандартных пулов не использовать же из а пула Хибернейт.Переведи на русский ;)

AndrephilosДля МуEntity - нужно писать мапинг, но и в хибернейт надо.
для одного поля одна строка типа :
Код: plaintext
1.
id=Integer.valueOf(mae.get("field_id")).intValue();
в Хибернейте НЕ нужно писать маппинг. Совсем. Достаточно только указать @Entity. Тип для преобразования используются из типа поля / геттера. И т.п.

id=Integer.valueOf(mae.get("field_id")).intValue(); Это шедевр. Как только напишите 30-40 сущьностей с применением этого подхода, так сразу проявится DAO / фабрики / Util классы ;)


PS я тоже не до конца принимают идеологию Hibernate - JDBC он проще для изучения, но увы для постоянной работы требует слишком много усилий - дешевле научить команду пользоваться Hibernate, чем постоянно дописывать велосипед-ORM.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969882
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VoDAHibernate - Hibernate уже оттестирован, опробован под нагрузкой и т.п. А в случае своего велосипеда все это придется повторить для вашего самопального ORM.


:) а вы знаете результаты тестов под нагрузкой? или это так кто-то где-то тестировал. :)

кто-то тестировал , но не я. И результатов тестирование не знаю, интересно узнать.

То что называете "самопальный ОРМ" сам по себе содержит меньше кода чем , количество кода нужное для привязки Хибернейт к приложению.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969885
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrephilosДобавим два плюса в итоге имеем:
1) Возможность перенастройки на другую СУБД
2) кеш (уточните в каких случаях это плюс при каких нагрузках, напрмер при нагрузке один запрос к случайной страницы в минуту вряд ли это плюс)
3) lazy loading (тоже нужно уточнить для каких приложений это плюс а для каких и не надо)Для готовых ORM:
4) отказ от id=Integer.valueOf(mae.get("field_id")).intValue(); - проще жить и рефакторить.
5) применение готового функционала - не нужно тратить время разработчиков на дописывание своего ORM, тестирование, документирование и т.п.
6) Снижение стоимости разработки ввиду пункта 5 - дешевле показать как пользоваться Hibernate, чем постоянно вкладываться в п.5.

Кроме того преимущества самого Hibernate над JPA я уже указывал - их тоже стоит перечислить.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969891
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrephilos2) кеш (уточните в каких случаях это плюс при каких нагрузках, напрмер при нагрузке один запрос к случайной страницы в минуту вряд ли это плюс)Когда количество АппСерверов больше количества серверов СУБД.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969892
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot VoDA]AndrephilosКуча стандартных пулов не использовать же из а пула Хибернейт.Переведи на русский ;)

Andrephilos

сори :)

Есть куча стандартных пулов (это обычно или один jar или один класс), и если нужен пул, то это не значит, что нужно поэтому использовать хибернейт.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969908
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VoDA

id=Integer.valueOf(mae.get("field_id")).intValue(); Это шедевр. Как только напишите 30-40 сущьностей с применением этого подхода, так сразу проявится DAO / фабрики / Util классы ;)


Здесь замечания не понимаю.
А хотелось бы ...
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969916
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrephilos List<Map> list =MyDBconnnect.select("select * from .......");
Я надеюсь вы не приемлете декларативное управление транзакциями и всегда стартуете / стопаете вручную ;)
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969928
Hauer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrephilosHauer Зависит от приложения. Например, еще дает такие вещи как lazay loading, кэш.


Добавим два плюса в итоге имеем:
1) Возможность перенастройки на другую СУБД
2) кеш (уточните в каких случаях это плюс при каких нагрузках, напрмер при нагрузке один запрос к случайной страницы в минуту вряд ли это плюс)
3) lazy loading (тоже нужно уточнить для каких приложений это плюс а для каких и не надо)

хммм... Вот с web'ом и hibernate'ом я уже сильно сомневаюсь в своих словах. ИМХО, там 2), 3) отпадают практически.

Что касается перехода на другую СУБД - это все от лукавого, мне кажется. Никто этого практически никогда не делает. Другое дело, если у вас "продукт", который может работать с несколькими СУБД по выбору.
...
Рейтинг: 0 / 0
В нужен ли Hibernate ?
    #36969929
Andrephilos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VoDA4) отказ от id=Integer.valueOf(map.get("field_id")).intValue(); - проще жить и рефакторить.


вот прицепился к строке.
всего лишь получаем из map по названию поля значение и приводим к нужному типу. Сложностей не вижу.
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / В нужен ли Hibernate ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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