Содержание
- 2. Вопросы
- 3. Понимание транзакций БД БД реализует понятие единицы работы, как транзакцию БД (иногда называемую системная транзакция). Транзакции
- 4. Понимание транзакций БД EntityManager em = HibernateUtil.getEntityManager(); Department economist = new Department("Economist"); try { em.getTransaction().begin(); em.persist(economist);
- 5. Проблемы изоляции транзакций • Потерянное обновление • Грязное чтение • Неповторяемое чтение • Фантомное чтение
- 6. Установка уровня изоляции Значения для этой опции выглядят следующим образом (вы также можете найти их, как
- 7. Пессимистичная блокировка
- 8. Нет блокировки EntityManager em = HibernateUtil.getEntityManager(); em.getTransaction().begin(); Cat cat = em.find(Cat.class, 1L); cat.setName("New"); em.getTransaction().commit(); em.close(); select
- 9. Оптимистическая блокировка. Version EntityManager em = HibernateUtil.getEntityManager(); em.getTransaction().begin(); CatLockVersion cat = em.find(CatLockVersion.class, 1L); cat.setName("New"); em.getTransaction().commit(); em.close();
- 10. Оптимистическая блокировка. All EntityManager em = HibernateUtil.getEntityManager(); em.getTransaction().begin(); CatLockAll cat = em.find(CatLockAll.class, 1L); cat.setName("New"); em.getTransaction().commit(); em.close();
- 11. Оптимистическая блокировка. Dirty EntityManager em = HibernateUtil.getEntityManager(); em.getTransaction().begin(); CatLockDirty cat = em.find(CatLockDirty.class, 1L); cat.setName("New"); em.getTransaction().commit(); em.close();
- 12. Оптимистическая блокировка EntityManager em = HibernateUtil.getEntityManager(); em.getTransaction().begin(); CatLockVersion cat = em.find(CatLockVersion.class, 1L, LockModeType.OPTIMISTIC); cat.setName("New"); em.getTransaction().commit(); em.close();
- 13. Оптимистическая блокировка с ошибкой select id , name, owner, version from CatLockVersion where id=1 select id
- 14. Оптимистическая блокировка c инкрементом версии EntityManager em = HibernateUtil.getEntityManager(); em.getTransaction().begin(); CatLockVersion cat = em.find(CatLockVersion.class, 1L, LockModeType.OPTIMISTIC_FORCE_INCREMENT);
- 15. Пессимистическая блокировка select id , name, owner, version from Cat where id=1 for update select id
- 16. Вопросы
- 17. Кэш второго уровня Hibernate
- 18. Стратеги кэширования и области Транзакционный – связанный с текущей единицей работы, которая может быть фактическая транзакция
- 19. Стратеги кэширования и области
- 20. Архитектура КЭШа в Hibernate
- 21. Кэш второго уровня Hibernate Политика КЭШа включает в себя настройку следующих параметров: Включен ли кэш второго
- 22. Встроенные стратегии параллелизма Есть четыре встроенных стратегии параллелизма, представляющие снижение уровня строгости, в терминах изолированности транзакции:
- 23. Выбор поставщика КЭШа Следующие поставщики встроены в Hibernate: EHCache предназначен для процессного и кластерного кэширования в
- 24. org.hibernate.jpa.HibernatePersistenceProvider by.it.entity.Department by.it.entity.Employee by.it.entity.EmployeeDetail by.it.entity.Meeting true Hibernate кэширование на практике
- 25. Hibernate кэширование на практике
- 26. Hibernate кэширование на практике
- 27. Hibernate кэширование на практике
- 28. Hibernate кэширование на практике
- 29. Hibernate кэширование на практике
- 30. Вопросы
- 32. Скачать презентацию