Sou novo no mundo Java e JPA. Eu estava estudando JPA e me deparei com muitos novos termos como Entidade, persistência. Durante a leitura, não consegui entender a definição exata para contexto de persistência .
Alguém pode explicar em termos simples para leigos? O que isso tem a ver com os dados usados no @Entity
?
Por exemplo, acho esta definição muito complicada de entender:
Um contexto de persistência é um conjunto de entidades de forma que, para qualquer identidade persistente, haja uma instância de entidade única.
fonte
fonte
Retirado desta página:
Aqui está uma ficha rápida do mundo JPA:
fonte
Um contexto persistente representa as entidades que contêm dados e são qualificadas para serem persistentes em algum armazenamento persistente como um banco de dados. Uma vez que criamos
commit
uma transação em uma sessão que tem essas entidades anexadas, o Hibernate libera o contexto persistente e as alterações ( inserir / salvar, atualizar ou excluir ) neles são persistentes no armazenamento persistente.fonte
Tanto a
org.hibernate.Session
API quanto ajavax.persistence.EntityManager
API representam um contexto para lidar com dados persistentes.Este conceito é chamado de contexto de persistência . Os dados persistentes têm um estado em relação a um contexto de persistência e ao banco de dados subjacente.
fonte
"Um conjunto de instâncias capazes de persistir (entidade) gerenciadas por uma instância do gerenciador de entidade em um determinado momento" é chamado de contexto de persistência.
A anotação JPA @Entity indica uma entidade capaz de persistir.
Consulte a definição JPA aqui
fonte
Em termos leigos, podemos dizer que o Contexto de Persistência é um ambiente onde as entidades são gerenciadas, ou seja, ele sincroniza "Entidade" com o banco de dados.
fonte
Embora @pritam kumar dê uma boa visão geral, o quinto ponto não é verdade.
https://blogs.oracle.com/carolmcdonald/entry/jpa_caching
O EntityManager da JPA e a Sessão do Hibernate oferecem um contexto de persistência estendido.
fonte
Contexto de persistência é um ambiente ou cache onde instâncias de entidade (que são capazes de manter dados e, portanto, ter a capacidade de ser persistentes em um banco de dados) são gerenciadas pelo Entity Manager . Ele sincroniza a entidade com o banco de dados. Todos os objetos com anotação @Entity são capazes de ser persistente. @Entity nada mais é do que uma classe que nos ajuda a criar objetos para nos comunicarmos com o banco de dados. E a forma como os objetos se comunicam é usando métodos. E quem fornece esses métodos é o Entity Manager.
fonte