Most of the differences are due to how OSGi-aware the provider is. For example, you may need to wrap Hibernate banners as OSGi packages yourself (or use a set that someone else has already wrapped - there are several floating ones on the Internet).
Sometimes providers try and do class loading in such a way that they will not work in the OSGi environment, so this is what you need to look for if you are completing your own or using off-track functions of the main supported providers,
You also need to make sure that the provider is registered as an OSGi service. It just works with OpenJPA, and there is an EclipseLink adapter in the Aries code base. I assume that sharing Hibernate, which people have shared, also does this. There are instructions on how to do this for other vendors (notably DataNucleus) in this thread:
http://www.mail-archive.com/ aries-user@incubator.apache.org /msg00251.html
source share