Spring ORM или Hibernate - PullRequest
       1

Spring ORM или Hibernate

10 голосов
/ 29 сентября 2010

Мне просто интересно, почему сочетание Spring и Hibernate так популярно, когда можно было бы опустить Hibernate и использовать только Spring ORM?

Ответы [ 3 ]

28 голосов
/ 29 сентября 2010

Spring не имеет собственной ORM.Вы можете использовать Hibernate, TopLink, iBatis или JDO.

Вы можете использовать Spring JDBC, но вы должны написать все средства отображения самостоятельно.

Желательно оставить ORM внецикла, если вам не нравится динамический SQL или сложность решения ORM.Вы также можете устранить зависимость, рассортировав постоянство самостоятельно.

11 голосов
/ 29 сентября 2010

Spring популярен, потому что он заботится о «шаблонном» коде вырезания и вставки, который есть у вас в любой среде ORM.Представьте себе блоки try ... finally, относящиеся к объекту сеанса (Hibernate или иным образом) и commit / rollback (транзакции).

Управление транзакциями также является сильной стороной Spring.Вы можете определить транзакции, используя аннотации или в конфигурационном файле Spring xml.В файле конфигурации преимущество заключается в том, что вы можете использовать подстановочные знаки, чтобы указать, что, например, все методы поиска в некотором наборе пакетов должны поддерживать транзакции (PROPAGATION_SUPPORTS), но все методы вставки, обновления, удаления должны требовать транзакций (PROPAGATION_REQUIRED).

Итак, я бы всегда использовал Spring независимо от структуры ORM.Если у вас есть простые требования или не так много кода JDBC, вам может быть достаточно шаблонов Spring JDBC.Кроме того, Spring упрощает переход на Hibernate при необходимости.

4 голосов
/ 29 сентября 2010

Другие ответы действительно хороши.Но ответить на вопрос «почему Spring / Hibernate» так популярен - ИМХО, потому что они являются лучшими в своем классе технологиями, которые позволяют вам работать быстрее.Spring делает гораздо больше, чем просто внедрение зависимостей и транзакций.Обеспечить решения для JMS, планирование и другие вещи.Кроме того, они проверены в бою и хорошо написаны.Они позволяют вам сосредоточиться на потребностях вашего бизнеса и избавиться от некоторых трудностей.

Все это не означает, что вам не нужны хорошие разработчики для реализации хорошего решения.

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