Eclipse中的JPA Project和EJB Project有什么区别?

tmp*_*tmp 6 java eclipse ejb jpa java-ee

哪一个用的时候?

当我想要JSF + Stateless Bean + JPA Entity应用程序时,我需要在EAR Project中集成EJB Project和Dynamic Web Project吗?

Lef*_*dis 15

EJB项目是一个专注于Enterprise Java Bean开发的项目.通常,EJB依赖于Entitity Beans来实现持久性,这是使用JPA技术实现的(将JPA视为EJB的依赖项).

您可以选择独立于EJB创建JPA项目的原因是有些人可能不想使用(或不需要)EJB,但他们仍然需要使用ORA框架(如JPA).这种情况可以是例如将直接使用JPA用于持久性(没有EJB)的Web项目(即JSF).

需要注意的是,虽然EJB 3使用JPA进行持久化,但您不必在项目中使用EJB(除非您需要这样做),以便从诸如JPA的ORM框架中受益.

现在,要在eclipse中的EJB项目上启用JPA,请右键单击该项目,转到"Project Facets"选项并选择JPA facet.通过这样做,eclipse将添加所需的库,创建必要的工件(persistence.xml)并在IDE上启用JPA相关工具.

  • 如果您想知道,JPA代表[Java Persistence API](http://en.wikipedia.org/wiki/Java_Persistence_API). (3认同)

小智 5

Java Persistence API(有时称为JPA)是一种Java编程语言规范,它描述了使用Java Platform,Standard Edition和Java Platform,Enterprise Edition在应用程序中管理关系数据.

Java Persistence 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
Run Code Online (Sandbox Code Playgroud)

Enterprise JavaBeans(EJB)是由Sun Microsystems开发的Java API,它定义了多层客户端/服务器系统的组件体系结构.

EJB系统允许开发人员专注于模型的实际业务架构,而不必担心连接所有工作部件所需的无限量的编程和编码.此任务由EJB服务器供应商负责.开发人员只需设计(或购买)所需的EJB组件并将其排列在服务器上.

因为EJB系统是用Java编写的,所以它们与平台无关.作为面向对象,它们可以在很少或没有重新编译和配置的情况下实现到现有系统中.