|
|
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
Кто реально считает HIbernate нужной и полезной технологией? Лично я использую JDBC (не чистый а несколько своих класов, аналог как в спринге) Вижу единственный плюс: 1) Если предполагается смена баз данных. И минусы: 1) нужно программистов обучать новой технологии достаточно много нюансов усложняется тестирование. Лишние глюки. И т д. В результате уменьшается скорость разработки кода. Просьба разделять то реальную важность хибернейт и ORM и просто защиту технологии потому что вы ее уже используете и привыкли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2010, 15:45 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
AndrephilosКто реально считает HIbernate нужной и полезной технологией? Лично я использую JDBC (не чистый а несколько своих класов, аналог как в спринге)а какое отношение Hibernate / JDBC / JPA / ORM имеют к проектированию БД? схема БД проектируется под хранение данных, а перечисленные технологии - способ доступа к данным. считаю, что флейм можно закрывать ввиду отсутствия вопроса. Проектирование БД не зависит от способа доступа - ORM это будет JDBC или ADO, ODBC... или unixODBC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2010, 22:48 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
On 20.11.2010 15:45, Andrephilos wrote: > Кто реально считает HIbernate нужной и полезной технологией? Ну я. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 14:09 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
VoDAAndrephilosКто реально считает HIbernate нужной и полезной технологией? Лично я использую JDBC (не чистый а несколько своих класов, аналог как в спринге)а какое отношение Hibernate / JDBC / JPA / ORM имеют к проектированию БД? єто форум дискусии. более подходящей ветки не нашел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 19:57 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
VoDA, спасибо за ответ в другой ветке. Приблезительно то что я хотел услышать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 20:00 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 20.11.2010 15:45, Andrephilos wrote: > Кто реально считает HIbernate нужной и полезной технологией? Ну я. а в каких случаях он полезный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2010, 20:01 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
Andrephilosа в каких случаях он полезный без него придется писать свой собственный хибернейт. Полагаю проще воспользоваться уже написанным ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 07:55 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
StalkerSAndrephilosа в каких случаях он полезный без него придется писать свой собственный хибернейт. Полагаю проще воспользоваться уже написанным ;) Нет не придется.Для роботи с БД достаточно создать для каждой сущности класс в котором есть методы: добавить, извлечь, удалить, заменить + те которые нужны в конкретной задачи Привемр select Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. И этого достаточно. Это намного проще чем розбираться в дебрях Hibernate , а потом и в глюках. Проще и дешевле чем обучать юниоров это хибернейту его настройкам и так далее... Однозначно такой подход лучше для приложений аля интерент-магазин и меньше. Интерисует коменты в каких случаях это плохой подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 12:42 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
On 21.11.2010 20:01, Andrephilos wrote: > а в каких случаях он полезный В случаях его правильного использования, разумеется. Позволяет напр. НЕ ПИСАТЬ около 70% запросов для N разных СУБД. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 12:46 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 21.11.2010 20:01, Andrephilos wrote: > а в каких случаях он полезный В случаях его правильного использования, разумеется. Позволяет напр. НЕ ПИСАТЬ около 70% запросов для N разных СУБД. В принципе много чего даёт он. Зависит от приложения. Например, еще дает такие вещи как lazay loading, кэш. Теоретически избавляет от необходимости перекладывать данные из запроса в DTO какие-нибудь, но на практике так лучше в общем случае не делать. Что касается разных СУБД, то все-таки иногда что-то приходится менять при переходе в конфигурационных файлах Hibernate. Например, Oracle имеет sequence механизм, кто-то имеет identity, есть и другие тонкости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 13:23 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 21.11.2010 20:01, Andrephilos wrote: > а в каких случаях он полезный В случаях его правильного использования, разумеется. Позволяет напр. НЕ ПИСАТЬ около 70% запросов для N разных СУБД. Да!. Я писал выше что это единственый плюс, быстрая переконфигурация под другую БД. (еслиесть надобность использования других СУБД) Соответственно топик, о том есть ли еще плюсы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 14:29 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
AndrephilosНет не придется.Для роботи с БД достаточно создать для каждой сущности класс в котором есть методы: добавить, извлечь, удалить, заменить + те которые нужны в конкретной задачи Привемр select Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Дальше в вашем примере есть несколько косяков и лисапедов: 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 боевых проектах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 14:36 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
HauerЧто касается разных СУБД, то все-таки иногда что-то приходится менять при переходе в конфигурационных файлах Hibernate. Например, Oracle имеет sequence механизм, кто-то имеет identity, есть и другие тонкости.А AUTO не подходит для этого случая? PS у нас чаще работала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 14:37 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
VoDA Дальше в вашем примере есть несколько косяков и лисапедов: public static List<MyEntity> getListInstance() сделан статиком, значит MyDBconnnect является также статическим объектом, а вероятнее всего (из названия) это целый класс. Это проблема если приложение вдруг потребует НЕСКОЛЬКО соединений с БД. Как вы к этому будете подключать пул соединений - сами писать? еще один лисапед? Дальше предполагаю, что основной косяк будет здесь: new MyEntity(list.get(i)) - для каждой сущности придется написать маппинг - зачем если есть готовые фреймворки? если нет желания изучать JPA / Hibernate - работать с iBatics. MyDBconnnect - небольшой клас который берет конект из стандартного пула например томкат, обявления пула одна строка. Куча стандартных пулов не использовать же из а пула Хибернейт. Для МуEntity - нужно писать мапинг, но и в хибернейт надо. для одного поля одна строка типа : Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:03 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
Hauer Зависит от приложения. Например, еще дает такие вещи как lazay loading, кэш. Добавим два плюса в итоге имеем: 1) Возможность перенастройки на другую СУБД 2) кеш (уточните в каких случаях это плюс при каких нагрузках, напрмер при нагрузке один запрос к случайной страницы в минуту вряд ли это плюс) 3) lazy loading (тоже нужно уточнить для каких приложений это плюс а для каких и не надо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:09 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
VoDA Юниоров не обучают настройке Hibernate, также как никто не будет учить настройке вашего ORM - всех будут учить только применять ORM. подход что я предлагаю обясняется за час. Обучение хибернейт долго и нудно, ведь почему то в открытых вакансиях сильно важным критерием есть опыт хибернейт значит не так быстро его понять. В общем случае я не утверждаю что он не нужен, хочу выяснить когда он нужен для каких задач он лучше . Каким должно быть приложение чтоб хибернейт себя окупал. Повторюсь для веб сайтов таких как интернет магазин и меньше, я не вижу целесообразности его использования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:17 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
AndrephilosКуча стандартных пулов не использовать же из а пула Хибернейт.Переведи на русский ;) AndrephilosДля МуEntity - нужно писать мапинг, но и в хибернейт надо. для одного поля одна строка типа : Код: plaintext 1. id=Integer.valueOf(mae.get("field_id")).intValue(); Это шедевр. Как только напишите 30-40 сущьностей с применением этого подхода, так сразу проявится DAO / фабрики / Util классы ;) PS я тоже не до конца принимают идеологию Hibernate - JDBC он проще для изучения, но увы для постоянной работы требует слишком много усилий - дешевле научить команду пользоваться Hibernate, чем постоянно дописывать велосипед-ORM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:21 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
VoDAHibernate - Hibernate уже оттестирован, опробован под нагрузкой и т.п. А в случае своего велосипеда все это придется повторить для вашего самопального ORM. :) а вы знаете результаты тестов под нагрузкой? или это так кто-то где-то тестировал. :) кто-то тестировал , но не я. И результатов тестирование не знаю, интересно узнать. То что называете "самопальный ОРМ" сам по себе содержит меньше кода чем , количество кода нужное для привязки Хибернейт к приложению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:24 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
AndrephilosДобавим два плюса в итоге имеем: 1) Возможность перенастройки на другую СУБД 2) кеш (уточните в каких случаях это плюс при каких нагрузках, напрмер при нагрузке один запрос к случайной страницы в минуту вряд ли это плюс) 3) lazy loading (тоже нужно уточнить для каких приложений это плюс а для каких и не надо)Для готовых ORM: 4) отказ от id=Integer.valueOf(mae.get("field_id")).intValue(); - проще жить и рефакторить. 5) применение готового функционала - не нужно тратить время разработчиков на дописывание своего ORM, тестирование, документирование и т.п. 6) Снижение стоимости разработки ввиду пункта 5 - дешевле показать как пользоваться Hibernate, чем постоянно вкладываться в п.5. Кроме того преимущества самого Hibernate над JPA я уже указывал - их тоже стоит перечислить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:25 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
Andrephilos2) кеш (уточните в каких случаях это плюс при каких нагрузках, напрмер при нагрузке один запрос к случайной страницы в минуту вряд ли это плюс)Когда количество АппСерверов больше количества серверов СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:27 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
[quot VoDA]AndrephilosКуча стандартных пулов не использовать же из а пула Хибернейт.Переведи на русский ;) Andrephilos сори :) Есть куча стандартных пулов (это обычно или один jar или один класс), и если нужен пул, то это не значит, что нужно поэтому использовать хибернейт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:27 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
VoDA id=Integer.valueOf(mae.get("field_id")).intValue(); Это шедевр. Как только напишите 30-40 сущьностей с применением этого подхода, так сразу проявится DAO / фабрики / Util классы ;) Здесь замечания не понимаю. А хотелось бы ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:30 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
Andrephilos List<Map> list =MyDBconnnect.select("select * from ......."); Я надеюсь вы не приемлете декларативное управление транзакциями и всегда стартуете / стопаете вручную ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:32 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
AndrephilosHauer Зависит от приложения. Например, еще дает такие вещи как lazay loading, кэш. Добавим два плюса в итоге имеем: 1) Возможность перенастройки на другую СУБД 2) кеш (уточните в каких случаях это плюс при каких нагрузках, напрмер при нагрузке один запрос к случайной страницы в минуту вряд ли это плюс) 3) lazy loading (тоже нужно уточнить для каких приложений это плюс а для каких и не надо) хммм... Вот с web'ом и hibernate'ом я уже сильно сомневаюсь в своих словах. ИМХО, там 2), 3) отпадают практически. Что касается перехода на другую СУБД - это все от лукавого, мне кажется. Никто этого практически никогда не делает. Другое дело, если у вас "продукт", который может работать с несколькими СУБД по выбору. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:35 |
|
||
|
В нужен ли Hibernate ?
|
|||
|---|---|---|---|
|
#18+
VoDA4) отказ от id=Integer.valueOf(map.get("field_id")).intValue(); - проще жить и рефакторить. вот прицепился к строке. всего лишь получаем из map по названию поля значение и приводим к нужному типу. Сложностей не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2010, 15:35 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=66&tid=1542380]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
313ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 680ms |

| 0 / 0 |
