Spring популярен, потому что он заботится о «шаблонном» коде вырезания и вставки, который есть у вас в любой среде ORM.Представьте себе блоки try ... finally
, относящиеся к объекту сеанса (Hibernate или иным образом) и commit / rollback
(транзакции).
Управление транзакциями также является сильной стороной Spring.Вы можете определить транзакции, используя аннотации или в конфигурационном файле Spring xml.В файле конфигурации преимущество заключается в том, что вы можете использовать подстановочные знаки, чтобы указать, что, например, все методы поиска в некотором наборе пакетов должны поддерживать транзакции (PROPAGATION_SUPPORTS), но все методы вставки, обновления, удаления должны требовать транзакций (PROPAGATION_REQUIRED).
Итак, я бы всегда использовал Spring независимо от структуры ORM.Если у вас есть простые требования или не так много кода JDBC, вам может быть достаточно шаблонов Spring JDBC.Кроме того, Spring упрощает переход на Hibernate при необходимости.