Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемИрина Воецкая
1 Evgeniy Krivosheev Vyacheslav Yakovenko Last update: Feb, 2012 Spring Framework Module 6 – Поддержка ORM
2 2 Содержание ORM Преимущества в работе с ORM с использованием Spring Обзор ORM модуля Универсальный DAO Библиотеки ORM JPA Инициализация JPA
3 3 Spring :: ORM ORM - Object-relational mapping связывает базы данных с концепциями объектно-ориентированных языков программирования
4 4 Spring :: ORM ORM - Object-relational mapping связывает базы данных с концепциями объектно-ориентированных языков программирования
5 5 Spring :: ORM ORM - Object-relational mapping
6 6 Spring :: Преимущества в работе с ORM Тестирование ; Обработка исключений ; Управление ресурсами (DataSource, mappings) ; Управление транзакциями ;
7 7 Spring :: ORM :: Пример BOOK ID: integer TITLE : varchar COMMENT : varchar DATE_RELEASE : timestamp AUTHOR_ID: integer
8 8 Spring :: ORM :: Пример Имплементация с помощью Spring JDBC
9 9 Spring :: ORM :: Пример BOOK ID: integer TITLE : varchar DATE_RELEASE : timestamp
10 10 Spring :: ORM :: Пример
@Service – для бизнес-бинов @Con" title="11 Spring :: ORM :: Стереотипы @Repository - для DAO beans оборачивает checked исключения в иерархию DataAccessException
12 12 Spring :: ORM :: Пример
13 13 Spring :: ORM :: Универсальный DAO
14 14 Spring :: ORM :: Универсальный DAO
15 15 Spring :: ORM :: JPA Java Persistence API (JPA) API, входящий с версии Java 5 в состав платформ Java SE и Java EE Поддержка сохранности данных, предоставляемая JPA, покрывает области: непосредственно API, заданный в пакете javax.persistence; платформо-независимый объектно-ориентированный язык запросов Java Persistence Query Language; метаинформация, описывающая связи между объектами. генерация DDL для сущностей
16 16 Spring :: ORM :: JPA
17 17 Spring :: ORM :: JPA
18 18 Spring :: ORM :: JPA
19 19 Spring :: Библиотеки ORM org.springframework.orm org.springframework.orm.hibernate3 org.springframework.orm.hibernate4 org.springframework.orm.ibatis org.springframework.orm.jdo org.springframework.orm.jpa JPA
20 20 Spring :: Инициализация JPA В данный момент Spring поддерживает три варианта инициализации JPA EntityManagerFactory: Получение EntityManagerFactory из JNDI; Используя LocalEntityManagerFactoryBean: Создает EntityManager, управляемый приложением Используется в небольших приложениях, прототипах и с целью организовать тестирование Нет поддержки глобальных транзакций, невозможно использовать уже существующий JDBC DataSource Используя LocalContainerEntityManagerFactoryBean: Создает EntityManager, управляемый контейнером; Более гибкая конфигурация, глобальные транзакции Конфигурируется под различные серверы приложений (WebLogic, OC4J, GlassFish, Tomcat, Resin, JBoss)
21 21 Spring :: Инициализация JPA Получение EntityManagerFactory из JNDI:
22 22 Spring :: Инициализация JPA Используя LocalEntityManagerFactoryBean: -Не поддерживает глобальных транзакций -Небольшое число конфигурационных настроек -Не может ссылаться на существующий JDBC DataSource bean
23 23 Spring :: Инициализация JPA LocalContainerEntityManagerFactoryBean – фабрика, предоставляющая максимум возможностей: По поведению схож с EntityManagerFactory, который можно получить от сервера приложений через JNDI. -Позволяет конфигурировать dataSource
24 24 Entity-классы должны были перечислены в META-INF/persistence.xml: Spring :: Инициализация JPA
25 25 Spring :: Инициализация JPA Однако в Spring 3.1+ можно обойтись без перечисления entity- классов, включив автосканирование всех классов пакета packagesToScan:
26 26 Пример с инъекцией фабрики EntityManagerFactory: Spring :: Инициализация JPA
27 27 Spring :: Инициализация JPA Application Managed Entity Manager EntityManager, полученный Используется в JSE приложениях для Java Persistence API (JPA) -не потокобезопасны -создаются каждый раз -должны закрываться после использования -управлять транзакциями надо вручную Container Managed Entity Manager EntityManager, полученный -thread-safe -transactional proxy -Ведет себя, как EntityManager, полученный через JNDI
28 28 Spring :: Инициализация JPA Пример с инъекцией EntityManager (Container Managed Entity Manager):
29 29 Упражнения : 7 : «Использование ORM в Spring при работе с данными» – 45 мин – самостоятельная работа; – 15 мин – обсуждение;
30 30 Вопросы!?
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.