Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > Hibernate vs. Torque


Автор: Вано 5.8.2004, 12:07
Народ давайте соберём здесь всевозможные сравнения Hibernate и Torque,
взятые из собственного опыта, или опыта других. Возможны некоторые статистические данные быстродействия.
Заранее очень благодарен за отзывы.

Автор: vb-develop 9.3.2007, 12:34
А сам что не написал? Меня тоже этот вопрос интересует. 
Какие объективно преимущества для небольших (до 50000 строк кода) есть у хибирнейта?

Автор: tux 9.3.2007, 13:22
Цитата(vb-develop @  9.3.2007,  12:34 Найти цитируемый пост)
Какие объективно преимущества для небольших (до 50000 строк кода) есть у хибирнейта? 

Для небольших чего? 

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

Автор: AntonSaburov 9.3.2007, 13:40
Согласен с tux - мертвый проект сравнивать с тем, что используется много где - бессмысленно. Много чего хорошего было раньше - не прижилось. Значит внимания не достойно.

Автор: vb-develop 15.3.2007, 08:56
Не согласен с недостатками: недавно вышла новая версия, проект постоянно развивается на протяжении очень большого времени. Добавлены Generics Java 1.5, что не может не радовать.
Кроме того, бизнес-логика очень прозрачно добавляется. Можно наследовать от сгенерированных классов и реализовывать свою бизнес-логику. И потом, если класс сгенерирован и откомпилен, это дает преимещества в быстродействии по сравнению с анализом ХМЛ "на лету". Ну и потом библиотека весит совсем немного, что позволяет её использовать в десктопных приложениях.
Также я просил рассказать о достоинствах Hibernate. Глупо говорить "это плохо" не сравнивания с тем, что лучше.

Автор: tux 15.3.2007, 10:58
Цитата(vb-develop @  15.3.2007,  08:56 Найти цитируемый пост)
И потом, если класс сгенерирован и откомпилен, это дает преимещества в быстродействии по сравнению с анализом ХМЛ "на лету".

Что значит "на лету"? XML анализируется один раз, при инициализации. И все. 

Цитата(vb-develop @  15.3.2007,  08:56 Найти цитируемый пост)
Можно наследовать от сгенерированных классов и реализовывать свою бизнес-логику.

Можно. Только наследовать от сгенерированных классов (которые могу перегенериться) мне не кажется хорошей идеей. Поменялась схема, поменялся класс, покривилась логика в классе. Хотя может быть это и легко решается, давно не пользовался.

Цитата(vb-develop @  15.3.2007,  08:56 Найти цитируемый пост)
Не согласен с недостатками: недавно вышла новая версия, проект постоянно развивается на протяжении очень большого времени.

Ну и я не согласен. Одна версия в два года - это развитие? Кроме того, количество пользователей библиотекой вряд ли огромное. Меньше пользователей - больше багов. Используется, конечно, в Turbine. Но и Turbine мало кем используется. Хотя фреймворк хороший.

Цитата(vb-develop @  15.3.2007,  08:56 Найти цитируемый пост)
Также я просил рассказать о достоинствах Hibernate.

Основные достоинства - использование POJO-классов и мощный язык запросов. Сгенерировать условные запросы в Torque можно, насколько я знаю, только критериями. Хотя может быть и поменялось что-то с тех пор. Ну и плюс множество всяких мелочей, lazy-loading, например (хотя его и в Torque наверное реализовали).

Цитата(vb-develop @  15.3.2007,  08:56 Найти цитируемый пост)
Ну и потом библиотека весит совсем немного, что позволяет её использовать в десктопных приложениях.

Сама она конечно немного весит, но не стоит забывать о весе сгенерированных классов. Помнится давным-давно, собирался использовать Torque, jar со сгенерированными из базы классами потянул на полтора метра, что, думаю, уже немало. Хотя Hibernate, конечно, со своими зависимостями тяжелее.

Цитата(vb-develop @  15.3.2007,  08:56 Найти цитируемый пост)
Глупо говорить "это плохо" не сравнивания с тем, что лучше. 

А с чего ты взял что я их собирался сравнивать? Я лишь сказал, что Torque свое отжила. С чем ее в этом качестве нужно сравнивать? 

Автор: vb-develop 15.3.2007, 12:17
Цитата
Что значит "на лету"? XML анализируется один раз, при инициализации. И все. 

А если нужно открыть приложение на 20-30 минут для выполнения работы? Неочень приятно каждый раз ждать по 1-2 минуты, пока хибернейт инициализуется. И не закрывать потом тоже нельзя - слишком много памяти он съедает. Конечно для веб-сервера это не проблема, но я говорю про десктопное применение и толстый клиент. Torque лучше JDBC, а использование Hibernate невозможно.

Цитата
Можно. Только наследовать от сгенерированных классов (которые могу перегенериться) мне не кажется хорошей идеей. 
Поменялась схема, поменялся класс, покривилась логика в классе. Хотя может быть это и легко решается, давно не пользовался.

Главное - дальше бизнес-логики одного класса эта проблема не пошла. Изменил схему, немного переписал один класс - и всё. 

Есть ли вообще альтернативы Torque и Hibernate?

Автор: tux 15.3.2007, 13:12
Цитата(vb-develop @  15.3.2007,  12:17 Найти цитируемый пост)
Неочень приятно каждый раз ждать по 1-2 минуты, пока хибернейт инициализуется.

Не помню чтобы так долго инициализировался. На мой взгляд надуманная проблема. И в гуе Hibernate использовали, никого не напрягало. Может быть для данного конкретного приложения и Torque удобнее. Но если в приложении будут сложные запросы, советовал бы сразу задуматься о том как с ними работать. Torque, кстати, едва ли не единственный фреймворк с генерилкой.

Цитата(vb-develop @  15.3.2007,  12:17 Найти цитируемый пост)
Есть ли вообще альтернативы Torque и Hibernate? 

http://java-source.net/open-source/persistence

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)