回答
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. Xamarin android项目和Xamarin跨平台项目有什么区别?
- 4. Eclipse中Prolog项目和Prolog参考项目的区别
- 5. 系统级别项目角色和项目级别Jira中的项目角色有什么区别?
- 6. eclipse的任何java项目的构建路径中的项目和库之间有什么区别
- 7. IntelliJ中的SBT项目和Scala模块有什么区别?
- 8. vb.net中的解决方案和项目有什么区别?
- 9. Android项目的Eclipse“导入”和“从现有源创建项目”有什么区别?
- 10. 什么是将EJB放入JPA项目的“正确”方式?
- 11. 淘宝的开源项目有什么区别:Metamorphosis和Timetunnel?
- 12. 为什么我的EAR项目不能在我的JPA项目中看到带注释的EJB和实体?
- 13. Visual Studio中的“Win32项目”,“CLR空项目”和“空项目”模板之间的区别是什么?
- 14. Hudson和CruiseControl for Java项目有什么区别?
- 15. 在Eclipse项目中使用单例EJB
- 16. maven/eclipse JPA项目和实体代?
- 17. Android:SDK和库项目有何区别
- 18. Eclipse:动态Web项目中的JPA
- 19. 请问JavaScript中这两个项目有什么区别?
- 20. VC++项目lib目录和链接器输入有什么区别
- 21. IntelliJ中的两个JVM Kotlin“创建项目”选项有什么区别?
- 22. git项目vs仓库,有什么根本的区别?
- 23. 树和目录有什么区别?
- 24. Publish和WebPublish目标有什么区别?
- 25. Eclipse 3.7和Eclipse 4.1有什么区别?
- 26. Sling内容项目和Sling捆绑项目之间的区别
- 27. Android应用程序项目和Android项目的区别
- 28. 为什么Eclipse不允许我为2.1 EJB项目选择EJB Client JAR?
- 29. Eclipse无法识别项目
- 30. PHP项目中的“源文件”和“包含路径”有什么区别?
如果您想知道,JPA代表[Java持久性API](http://en.wikipedia.org/wiki/Java_Persistence_API)。 – 2012-04-13 04:08:17