2014-02-02 2 views
1

В чем разница между JpaTeplate и JpaDaoSupport (или аналогичная версия HibernateTemplate и HibernateDaoSupport).разница между jpatemplate и jpadaosupport

Я читаю весеннюю документацию и весну, предлагаю не использовать это больше. Мне просто интересно узнать, в чем причина этого. Одна из причин, по которой я понимаю, - это развязка между весенним и персистентным слоем. Но это не может быть единственной причиной для устранения этого.

Может ли кто-нибудь поставить на него некоторый свет.

Заранее спасибо.

ответ

1

В предыдущие дни *Template упростил работу с базовой технологией, особенно это было в дни выпусков hibernate2 и раннего hibernate3. Однако все эти технологии продвинулись, и использование *Template больше не имеет смысла. Это связывает ваш уровень доступа к данным с весной без каких-либо реальных преимуществ. Следовательно, предложение не использовать его больше, но использовать простой API (например, JPA или Hibernate напрямую).

В *DaoSupport классах сделать некоторую самонастройку и/или обнаружения для вас, так что вы можете просто вызвать метод get*Template и получить готовую к использованию *Template. В принципе, *DaoSupport позволяет легко получить доступ к сконфигурированному *Template и избавит вас от его создания.

Однако, как указано в справочном руководстве, вы не должны использовать шаблоны и, следовательно, поддерживать классы больше (единственным исключением является версия JDBC).

+0

Это относится к Hibernate/JpaTemplate. Другие, такие как JdbcTemplate, по-прежнему ценны. – atamanroman

+0

Спасибо за ваши просьбы. Это было очень ясно. – javafan

+0

После более подробного чтения бит я узнал, что эти классы шаблонов преобразуют исключения спящего режима в исключение DataAccessException Spring Spring. Если я не использую классы шаблонов, как я получу DataAccessException? и как насчет автоматического закрытия сеансов? – javafan

Смежные вопросы