You don't need any of those silly "Servlet Engines" or overrated "Application Servers" to work with JPA. All you need is a persistence provider; that is, someone who knows how to process JPA stuff, and you're good.
Hibernate is probably the most popular JPA implementation framework. Here's a little class that I can annotate with JPA tags, and pass into the Hibernate Session/EntityManager, and have it persist my data to a database:
As you can see, that's all done in a main method - that is, it's done in a standalone
Java application that runs on nothing more than a Java 5 JRE. No
EJB or
Servlet containers are harmed in the running of this code.
Here's a little tutorial in which I detail how to set up this particular configuration with Hibernate and run the code. There's nothing to it, actually:
Using the Java Persistence API (JPA) in a Stand-Alone Java Application (no containers!)
So, in summary, you do not need a J2EE / JEE5 container in order to work with the Java Persistence API.
Regards,
-Cameron McKenzie