That was not exactly what I meant: Take the following example:  
 We have a User class and a Book class, and each User have a list of books which the user own defined as  
 @OneToMany(fetch=FetchType.LAZY) List<Book>bookList;  
 (And in this example, there is only 1 object in the User table, just to make the explanation more easy).  
 Now imagine the following where A and B are 2 different entity managers. (Which in our implementation will be 2 Different threads, serving 2 different http request)  
 B: Fetch user.  (User user=em1.find(User.class,1)).  
 A: Fetch user (User user=em2.find(User.class,1));  
 B: Create and save a new Book, and add it as a book to the user.
 B: Save user.
 A: Get list of users books.  
 Now the question: Does the list of books fetched by A include the new book added by B?. And does this change if FetchType.LAZY changes to FetchType.EAGER?  
 In a SQL database, A and B would run in their own transaction, and the answer would thus depend on the the selected isolation level for the transaction in A.