2013-02-12 71 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