..
Spring Framework поддерживает интеграцию со многими за «ORM (Object Relational Mapping), но по причинам, изложения, мы ориентируемся только увидеть, как интегрировать Hibernate и JPA в Весна проекта.
Весна поддерживает эти рамки для таких операций, как управление ресурсами, implemantazione из DAO (Data Access Object) и управления транзакциями.
Благодаря интеграции с весны вы можете настроить эти рамки за счет использования DI (Dipendency Injection).
Itegrazione с весны также позволяет множество преимуществ, как:
Весна позволяет легко изменять конфигурацию и реализации требуемых рамках, чтобы сделать тесты в изоляции.
Весна может перевести конкретные исключения в DataAccessException ORM рамки, так что эти исключения могут быть обработаны в бизнес-слои абстракции от конкретных API используется.
Для этого весной имеет свою иерархию исключений DAO, которая применима к любой стратегии доступа к данным.
Например, если использование прямого JDBC, SQLException все переведено на DataAccessException, также включая перевод SQL коды ошибок.
Если вы используете ORM, как Hibernate или JDO, что нужно сделать с HibernatException PersistenceException или которые могут быть переведены на IllegalArgumentException или IllegaleStateException, поэтому абстрагироваться от конкретной реализации слоя.
Чтобы включить перевод исключений просто использовать '@ репозитория аннотации и настроить PersistenceExceptionTranslationPostProcessor:
@ Репозитория
MyDaoImpl {общественный класс реализует MYDA
//................
}
. nell'applicationContext и XML:
<! - Перевод исключения -> <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/> <bean id="myDao" class="example.MyDaoImpl"/>
Весна контексте приложения может легко восстановить все ресурсы, необходимые для создания ORM, таких как DataSource или конфигурации Hibernate SessionFactory, централизация, по сути, эти ресурсы и облегчить их изменить.
Он также предлагает и другие преимущества, такие как совместное использование сессии в полностью прозрачной.
Весна может управлять транзакциями автоматически или вручную.
Какой бы путь вы ни выбрали, центральный пункт управления транзакциями является использование АОП.
Решив сделать автоматически с помощью аннотации @ Transactional, если вы предпочитаете ручной совет необходимости в его отчетности конфигурационный файл контекста приложения.
Это делает централизованное управление, как всегда, легко перейти от менеджера транзакций на другой, как и переход от локальных транзакций для JTA.
Управление транзакциями будут подробно рассмотрены в следующих параграфах.
Цель Весна ORM является создание приложений доступа к данным слоя для того, чтобы быть освобождены, с одной стороны, слой бизнес-логики от dipendeze, связанные с доступом к данным и управление транзакциями и другой разработчик так устранить одиночек и жестко поиск ресурса.
В следующем примере мы можем видеть ORM слой, который использует Hibernate для доступа к данным и управление транзакциями в JTA:

| |
Linux (курс)
Полное руководство по открытым исходным кодом системы. Начиная с 49 €. |
| |
PHP (курс)
Полный курс для создания динамических веб-сайтов. Начиная с 49 €. |
| |
Руби и Ruby On Rails (Курс)
Создание программного обеспечения и веб-приложений с Рубином и RoR. Начиная с 39 €. |