Extended Scope is possible with SFSB (BMT Only)
It's also possible for SFSB with CMT (and every application managed entity manager has an persistence context with extended scope).
If I set flush mode to Commit (instead of AUTO),
then until, explicitly - commit, flush or close (to EM) is not done;
Entity is syncronized
but data is not commited to db (what ever I update/ insert, it is in EntityContext not in database until I commit/ flush / close).
Not directly. The behavoir of flush mode COMMIT is rather vague defined: JPA spec 3.2.3 states:
If FlushModeType.COMMIT is specified, flushing will occur at transaction commit; the persistence provider is permitted, but not required, to perform to flush at other times.
Futhermore it's important to know that the result of Query.executeUpdate is undefined using flush mode type COMMIT (see JPA spec 3.6.2):
If FlushModeType.COMMIT is set, the effect of updates made to entities in the persistence context upon queries is unspecified.