An injected EM can't use user transactions. You can switch to application-managed EM, but I'm not convinced that you need it.
What's wrong with having 2 sets of changes committed at the end of the method? Do you need another thread to see the 1st set of changes 1 millisecond earlier? Or does the second set of changes depends on the behavior of that other thread?
Can you give an example of what are you trying to accomplish?
[Message sent by forum member 'mvatkina' (mvatkina)]
http://forums.java.net/jive/thread.jspa?messageID=217509