warnings about pc lifecycle in doc
This commit is contained in:
parent
edb0a27197
commit
43446d76a7
|
@ -54,6 +54,18 @@ At any given moment, an instance may be associated with at most one persistence
|
||||||
|
|
||||||
The lifetime of a persistence context usually corresponds to the lifetime of a transaction, though it's possible to have a persistence context that spans several database-level transactions that form a single logical unit of work.
|
The lifetime of a persistence context usually corresponds to the lifetime of a transaction, though it's possible to have a persistence context that spans several database-level transactions that form a single logical unit of work.
|
||||||
|
|
||||||
|
[WARNING]
|
||||||
|
====
|
||||||
|
A persistence context—that is, a `Session` or `EntityManager`—absolutely positively **must not be shared between multiple threads or between concurrent transactions.**
|
||||||
|
|
||||||
|
If you accidentally leak a session across threads, you will suffer.
|
||||||
|
====
|
||||||
|
|
||||||
|
.Container-managed peristence contexts
|
||||||
|
****
|
||||||
|
In a container environment, the lifecycle of a persistence context scoped to the transaction will usually be managed for you.
|
||||||
|
****
|
||||||
|
|
||||||
There are several reasons we like persistence contexts.
|
There are several reasons we like persistence contexts.
|
||||||
|
|
||||||
1. They help avoid _data aliasing_: if we modify an entity in one section of code, then other code executing within the same persistence context will see our modification.
|
1. They help avoid _data aliasing_: if we modify an entity in one section of code, then other code executing within the same persistence context will see our modification.
|
||||||
|
|
Loading…
Reference in New Issue