Подтвердить что ты не робот

Что такое контекст устойчивости?

Я новичок в мире Java и JPA. Я изучал JPA и наткнулся на многие новые термины, такие как Entity, настойчивость. Во время чтения я не мог понять точное определение для Контекст сохранения.

Может ли кто-нибудь объяснить это простым языком? Что это связано с данными, используемыми в @Entity?

Например, я считаю, что это определение слишком сложно понять:

Контекст persistence - это набор сущностей, для которого для любой постоянной идентификации существует уникальный экземпляр объекта.

4b9b3361

Ответ 1

Контекст persistence обрабатывает набор сущностей, которые хранят данные, которые должны сохраняться в каком-либо хранилище персистентности (например, база данных). В частности, контекст знает разные состояния, которые может иметь объект (например, управляемый, отсоединенный) в отношении как контекста, так и основного хранилища сохраняемости.

Хотя Hibernate-связанный (поставщик JPA), я думаю, что эти ссылки полезны:

http://docs.jboss.org/hibernate/core/4.0/devguide/en-US/html/ch03.html

http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/architecture.html

В Java EE контекст персистентности обычно доступен через EntityManager.

http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html

Различные состояния, которые может иметь сущность, и переходы между ними описаны ниже:

http://docs.jboss.org/hibernate/entitymanager/3.6/reference/en/html/objectstate.html

http://gerrydevstory.com/wp-content/uploads/2012/05/jpa-state-transtition.png

Ответ 2

  • Управление объектами осуществляется с помощью javax.persistence.EntityManager экземпляра с использованием контекста persistence.
  • Каждый экземпляр EntityManager связан с a контекстом персистентности.
  • В контексте постоянства управляются экземпляры сущностей и их жизненный цикл .
  • Контекст сохранения определяет область, в которой создаются, сохраняются и удаляются экземпляры сущностей конкретных.
  • A контекст сохранения похож на кеш, который содержит набор постоянных сущностей, поэтому после завершения транзакции , все постоянные объекты удаляются из контекста сохранения EntityManager и больше не управляются.

Ответ 3

Взято из эта страница:

Вот быстрый лист обмана мира JPA:

  • Кэш - это копия данных, копирование которых вытаскивается из базы данных, но живет за пределами базы данных.
  • Очистка кэша - это действие по возврату измененных данных в базу данных.
  • PersistenceContext - это, по сути, кеш. Он также имеет тенденцию иметь собственное соединение без обмена данными.
  • EntityManager представляет собой PersistenceContext (и, следовательно, кэш)
  • EntityManagerFactory создает EntityManager (и, следовательно, PersistenceContext/Cache)

Ответ 4

Оба API org.hibernate.Session и javax.persistence.EntityManager API представляют собой контекст для работы с постоянными данными. Эта концепция называется контекстом персистентности. У постоянных данных есть состояние в отношении как контекста персистентности, так и базовой базы данных.

Ответ 5

Постоянный контекст представляет объекты, которые содержат данные и могут быть сохранены в некотором постоянном хранилище, таком как база данных. Как только мы commit транзакцию в сеансе, к которому присоединены эти объекты, Hibernate очищает постоянный контекст, и изменения (вставка/сохранение, обновление или удаление) в них сохраняются в постоянном хранилище.

Ответ 6

"Набор экземпляров, которые сохраняются (сущности), управляемые экземпляром диспетчера сущности в данный момент времени", называется контекстом сохранения.

JPA @Необязательная аннотация означает объект, сохраняющий возможность.

Обратитесь к JPA Определение здесь

Ответ 7

В то время как @pritam kumar дает хороший обзор, пятая точка не соответствует действительности.

Контрастность Контекст может быть либо областью транзакций - сдерживанием Контекст "живет" для длины транзакции или Extended - Контрастность Контекст охватывает несколько транзакций.

https://blogs.oracle.com/carolmcdonald/entry/jpa_caching

JPA EntityManager и Hibernate Session предлагают расширенный контекст сохранения.

Ответ 8

С точки зрения непрофессионала, мы можем сказать, что постоянный контекст - это среда, в которой сущности управляются, т.е. он синхронизирует "сущность" с базой данных.