回答
EJB項目是一個專注於Enterprise Java Beans開發的項目。通常,EJB依賴Entitity Beans進行持久化,這是使用JPA技術實現的(將JPA視爲EJB的依賴關係)。
您可以選擇獨立於EJB來創建JPA項目的原因是,有些人可能不想使用(或不需要)EJB,但仍然需要使用ORM框架作爲JPA。這種情況可能是一個Web項目(即JSF),它將直接使用JPA來實現持久性(無EJB)。
需要指出的是,雖然EJB 3使用JPA來實現持久性,但您不必在項目中使用EJB(除非需要這樣做),才能從JPA等ORM框架中受益。
現在,要在eclipse上的EJB項目上啓用JPA,請右鍵單擊項目,轉到「Project Facets」選項並選擇JPA構面。通過這樣做,eclipse將添加所需的庫,創建必要的工件(persistence.xml)並在IDE上啓用JPA相關工具。
這取決於您正在使用的Java EE版本。在Java EE 6中,我們可以在WAR文件中包含EJB。所以一個動態Web項目就足夠了。
如果您使用的是Java EE 1.5,那麼您需要爲JSF和無狀態bean提供動態Web項目,您需要有一個EJB項目以及一個企業項目需要將WAR和JAR捆綁到一個EAR中。您可以在EJB項目本身中擁有與持久性相關的類,並且不需要這裏的JPA項目。
Java EE提供了使用獨立於EJB的JPA的工具,因此如果您的應用程序不需要EJB但仍想使用JPA,那麼您可以選擇JPA項目。
Java持久性API(有時稱爲JPA)是一種Java編程語言規範,它描述了在使用Java平臺標準版和Java平臺企業版的應用程序中管理關係數據。
Java持久性API是作爲JSR 220專家組工作的一部分而發起的。 JPA 2.0是JSR 317專家組的工作。
持續在這一背景下涵蓋以下三個方面:
the API itself, defined in the javax.persistence package
the Java Persistence Query Language (JPQL)
object/relational metadata
的Enterprise JavaBeans(EJB)是由Sun Microsystems定義爲多層客戶機/服務器系統中的組件架構開發的Java API。
EJB系統允許開發人員專注於模型的實際業務架構,而不用擔心連接所有工作部件所需的編程和編碼的數量。這個任務留給EJB服務器供應商。開發人員只需設計(或購買)所需的EJB組件並將其安排在服務器上。
因爲EJB系統是用Java編寫的,所以它們是獨立於平臺的。作爲面向對象的,它們可以在很少或沒有重新編譯和配置的情況下實現到已有的系統中。
- 1. 目標和項目有什麼區別?
- 2. Eclipse Cpp - C項目,C/C++項目和C++項目有什麼區別?
- 3. 項目引用和項目依賴關係有什麼區別?
- 4. Xamarin android項目和Xamarin跨平臺項目有什麼區別?
- 5. 項目2010和項目服務器2010有什麼區別?
- 6. Eclipse中Prolog項目和Prolog參考項目的區別
- 7. maven項目和Eclipse中其他項目的區別
- 8. Eclipse:「動態web項目」和「java ee web項目」之間的區別是什麼
- 9. 系統級別項目角色和項目級別Jira中的項目角色有什麼區別?
- 10. '解決方案中的項目'和'特徵中的項目'有什麼區別?
- 11. 兩型動物項目在eclipse:在EAR項目(JPA和EJB)(問題CDI)
- 12. eclipse的任何java項目的構建路徑中的項目和庫之間有什麼區別
- 13. IntelliJ中的SBT項目和Scala模塊有什麼區別?
- 14. Java中的項目和文件有什麼區別?
- 15. Visual Studio項目中的標題和產品有什麼區別?
- 16. vb.net中的解決方案和項目有什麼區別?
- 17. visual studio中的空白和非空項目有什麼區別?
- 18. Android項目的Eclipse「導入」和「從現有源創建項目」有什麼區別?
- 19. 「動態web項目」與JSF構面和「JSF項目」有什麼區別?
- 20. 什麼是將EJB放入JPA項目的「正確」方式?
- 21. HttpContext的緩存和項目屬性有什麼區別?
- 22. 淘寶的開源項目有什麼區別:Metamorphosis和Timetunnel?
- 23. 爲什麼我的EAR項目不能在我的JPA項目中看到帶註釋的EJB和實體?
- 24. 所有項目和子項目之間的區別
- 25. Visual Studio中的「Win32項目」,「CLR空項目」和「空項目」模板之間的區別是什麼?
- 26. 添加外部jar和使用庫項目有什麼區別?
- 27. 安裝項目和安裝嚮導有什麼區別?
- 28. Hudson和CruiseControl for Java項目有什麼區別?
- 29. angularjs 2 starter project和CLI項目有什麼區別
- 30. Maven模塊和Maven項目有什麼區別
如果您想知道,JPA代表[Java持久性API](http://en.wikipedia.org/wiki/Java_Persistence_API)。 – 2012-04-13 04:08:17