To complete what Andy said, we deal with Hibernate JPA, OpenJPA and EclipseLink. The main problems when trying to use JPA within an OSGi container consist in the mapped clas visibility and the use of load time weaving to intrument managed entities when required.
The first point is directlty adresses by Spring DM with its thread context classloader management at service level.
The second point can be much more problematic since load time weaving isn't supported by all OSGi containers but the great news is that not all JPA implementations require this feature: Hibernate doesn't need it and OpenJPA leaves you the choice... Moreover, when load time weaving is required within Equinox container, you can use Equinox Aspects and its adapter for Spring.
Those who dance are thought mad by those who hear not the music. This tiny ad plays the bagpipes: