I am aware of Hibernate 1st level cache.
I know that it is session-scoped and I expect a session to be bound to a thread.
Since JPA is only a specification and can be backed by other providers
my question is
does JPA persistence context always give the same guarantee?
E.g. will changes made in one thread
Object o = entityManager.find(Object.class, id);
o.setAttr(..);
// not flushed
ever be visible in another?