2013-02-12 67 views
2

嗨,我经常阅读有关此主题的下面:Tomcat vs Glassfish,jpa都有可能吗?

"Tomcat is a servlet container only, which simply means that it will not 
provide support for Java EE features." 

JPA例如是Java EE功能。这意味着它支持Glassfish。 但我也可以在tomcat上使用JPA!

那么,为什么我可以做到这一点? 我以为我可以坚持使用Tomcat的Servlet/JSP。

回答

3

JPA Java EE的一部分,这意味着每个Java EE容器都应该支持它。 Tomcat不支持JPA开箱即用。只有在这些应用程序嵌入了一些JPA实现时,才可以在部署在Tomcat上的应用程序中使用JPA。

通常情况下,您会发现嵌入了Hibernate或EclipseLink的Spring应用程序,都提供了JPA API。 Tomcat完全不知道这一点,就他所关心的而言,它是用户代码。

  • Tom EE见 - “的Java EE 6 Web Profile的认证,其中Tomcat是最高的狗
+0

谢谢。 所以,如果我想在我的tomcat上使用JPA,我必须使用休眠。对? – krackmoe 2013-02-12 22:31:51

+0

@krackmoe:正确,或任何其他JPA实施。注意经过认证的Java EE容器也需要* some *实现,它也可以是Hibernate。 – 2013-02-12 22:33:51

+0

所以没有任何实现(例如休眠..)我不能够使用jpa? – krackmoe 2013-02-12 22:35:57