我是一个快乐的Tomcat用户,并希望使用新的Java Persistence API。我有点困惑,我应该从哪里得到它?
我没有找到关于我的问题的官方文件。
我问的原因是因为我不想部署非常大的文件。如果我正在使用的容器支持/包含JPA API,那么我宁愿不为每个应用程序部署一个?
我脑子里有这个想法,Tomcat 7的JAR可能有这个想法吗?
答案 0 :(得分:3)
Java EE 6是否特定于EJB容器,例如JBoss或Glassfish?
Java EE 6是一个规范。关于如何实现该规范是不可知的,但通常这是由你提到的两个appserver完成的。
这是否意味着如果您有EE 6容器,它会自动支持JPA?
是。 JPA是JavaEE v5和v6的一部分。
JPA是规范还是API?
两者。规范定义了语义,API定义了语法。
Hibernate,Kodo或OpenJPA,DataNucleus,EclipseLink,TopLink是否都是JPA规范的实现?
是。不同的appservers附带不同的JPA实现。
如果我使用的容器支持/包含JPA API,那么我宁愿不为每个应用程序部署一个?
这是一般的想法。使用您的appserver提供的服务。
我脑子里有这个想法,Tomcat 7的JAR可能有这个想法吗?
我并不熟悉v7,但Tomcat不是一个完整的JavaEE实现(它提供了JSP,servlet和其他一些东西,比如JNDI),但不是JPA。如果部署到Tomcat,您的应用程序将需要打包自己的JPA实现。
答案 1 :(得分:0)
你绝对可以在Tomcat中使用JPA。目前我们在Tomcat中使用OPENJPA将JPA增强器添加到构建中。在Tomcat中设置Hibernate JPA也有很多例子(例如http://dev.imanol.me/post/32735636704/tomcat-jpa-hibernate-and-mysql)。