Hibernate против iBatis - PullRequest
       3

Hibernate против iBatis

0 голосов
/ 21 сентября 2010

Мы создаем веб-приложение, ориентированное на базу данных. Мы изначально начали использовать iBatis.
В какой-то момент мы подумали, что iBatis может оказаться не очень полезным по следующим причинам:
1. Потребность в приложении код, чтобы определить, нужно ли вставлять / обновлять / удалять из БД
2. Заявка код будет отличаться от объектно-ориентированного к базе данных
3. Нужно написать много кода для многих тривиальных вещей, таких как версии сущностей (чтобы избежать грязных обновлений БД)
и многое другое ...
Теперь мы прошли более половины пути, решив перейти на Hibernate. Мы рассматриваем реальные убедительные причины, чтобы оправдать наш выбор Hibernate вместо iBatis.

Я понимаю, что iBatis и Hibernate - хорошие фреймворки, которые хорошо работают по-своему для разных нужд. Тем не менее, мы пытаемся сохранить наши усилия, пытаясь оправдать свой выбор Hibernate.

Нам было бы очень полезно услышать от вас экспертов. Обратите внимание, что мы решительно выступаем за сохранение Hibernate.

1 Ответ

0 голосов
/ 21 сентября 2010

Hibernate следует спецификации JPA, которая позволяет вам не зависеть (зависеть от поставщика) от Hibernate. Вы можете переключиться на другую реализацию, такую ​​как TopLink, если возникнет такая необходимость.

С Hibernate вы можете сделать свой код на 90% (или на 100%, если вы не используете прямые запросы JDBC) независимым от базы данных (используя HQL), т. Е. Тот же код будет работать на MSSQL, MySQL или Oracle (без каких-либо основные изменения, внесенные в уровень доступа к данным).

Hibernate очень высок для каждого форманта с поддержкой кэширования (как первого уровня, так и второго уровня).

Hibernate является очень хорошим ORM (Object Relational Mapping) по сравнению с iBatis, где вы в основном заканчиваете ручным кодированием различных запросов в XML, и большую часть времени люди, использующие Hibernate, в конечном итоге возвращают карты с данными (из-за накладных расходов при настройке отображения от сущностей БД до классов в Java) и, следовательно, в конечном итоге с кодом, в котором удаление или добавление одного поля вызывает серьезные изменения в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...