We have an app that we are developing and we are considering supporting two different JPA implementations.
At the moment we are using openjpa and have fairly well tested code.
I swapped in toplink, ran the tests, and found a bunch of failures.
You'd think that because JPA is a standard there shouldn't be any differences!
The rationale for supporting two JPA implementations is so that we can run on multiple app servers.
So 1stly, is it true that there is a one-to-one mapping between implementation and server. i.e. can I use toplink on WAS for example, or openjpa on Glassfish?
The 2nd question before I investigate the various failures further is, the JPA spec, is it so broad as to make supporting two implementations impractical? Should I even bother trying to make the code work with both?