Do people typically reuse EntityManagers, or get a new one for each transaction? If I reuse the same one, I presume I'll have to synchronize access to it.

I'm vaguely aware that J2EE apps often have their EntityManagers "injected" and don't need to worry about where they come from. But I'm using JPA in a J2SE app.