`
gf7317070
  • 浏览: 10481 次
文章分类
社区版块
存档分类
最新评论

JPA、Hibernate、EJB比较

阅读更多
在过去的几年中,一些持久化框架得到了很好的发展,越来越多的人喜欢上了ORM映射。但是选择一个合适的持久化框架不是一个简单的事情。
首先我们讨论一下当前最有名的
Java Persistence API
Entity Enterprise Java bean
Hibernate
TopLink

JPA有什么优势?
JPA是基于标准的,越来越多的厂商期待在不久的将来提供JPA的实施。
它提供了Hibernate与TopLink最好的实施功能。
它可以和J2SE与javaEE应用程序一起使用,需要时可以使用Entity Enterprise Java bean,也可以不使用。

JPA有什么缺点?
由于非常新,JPA可能还要通过重大的发展,才能变得很稳定。
JPA只是一个规范,不是产品。你需要提供商提供一个实施,才能获取基于标准API取得的优势。

Hibernate有什么优势?
Hibernate易于学习与使用。
它非常灵活,你可以在任何需要持久化的应用系统中使用Hibernate。
它可以很好的向上扩展,因为他被设计为底层一直到集群环境中工作。

Hibernate有什么缺点?
Hibernate是另一个拥有自己的应用和维护周期的框架。
尽管有积极社区的支持,但是有时候缺乏专注于此产品的提供商,使得选择此应
用框架显得没有说服力。

TopLink有什么优势?
如果你的软件序列中有大量的Oracle产品,你可以选择TopLink持久化框架。
它是由Oracle支持的一个非常成熟的框架,而且经过了时间检测。
它拥有高级功能,比如集群应用程序之间的缓存同步、缓存验证策略和查询缓存,
使其非常适合在高性能且集群应用程序中使用TopLink。

Entity EJB有什么优势?
该基于组件的分布式模型使其独立于网络-EJB可以部署到其他应用服务的JVM上,
或者可以部署到位于不同地理位置的应用服务器的JVM上面。
你将获得完美的可收缩性:EJB可以很好的向上扩展,因为容器可以汇聚实例,必
需时可以进行激活与钝化。
EJB经过长时间的检测,已成为成熟的技术,它经过发展,还可以加入更多有用的服
务和功能,现在EJB3.0就加入了JavaEE元数据注解。

Entity EJB有什么缺点?
学习和使用EJB不是简单的事情。
EJB不提供持久化独立。
对于Entity bean要想获得可接受的性能水平一直是一个挑战,尤其是在远程调用当中。

持久化选择列表






分享到:
评论

相关推荐

    SSH框架和JPA+EJB+JSF框架的比较

    ### SSH框架和JPA+EJB+JSF框架的比较 #### 一、SSH框架解析 SSH框架是由Struts、Spring和Hibernate三个独立的框架组成的,它们分别负责不同的职责:Struts用于构建MVC架构的表现层;Spring作为核心的依赖注入(DI...

    EJB学习大全(EJB3.0实例教程 JPA教程 实战EJB)

    5. **持久化框架(Persistence Framework)**:EJB3.0引入了JPA(Java Persistence API),提供了一种标准的方式来管理和操作数据,与ORM工具如Hibernate集成。 **JPA教程**: JPA是Java平台上的持久化规范,它允许...

    JPA与Hibernate的优缺点

    JPA最早由Sun Microsystems在EJB 3.0规范中引入,作为JSR 220的一部分,它提供了对Plain Old Java Object(POJO)的支持,并集成了依赖注入、事件监听等特性。JPA设计的目标是提供一个全面的API,以适应Java EE和...

    GlassfishV4_JPA__EJB_DEMO

    在`pom.xml`文件中,可以看到项目依赖管理的部分,它列出了所有必要的库,包括Glassfish V4、JPA实现(可能是Hibernate或EclipseLink)、EJB 3、Spring4以及其他可能的库。这个文件通常使用Maven构建工具来管理项目...

    让Java EE再次变酷使用JPA和EJB构建基于MongoDB的网络服务

    Hibernate OGM使得开发者能够在不改变现有JPA/EJB代码的情况下,无缝地切换到MongoDB这样的NoSQL数据库。 #### 软件架构 本文提出的软件架构主要包括以下几个关键组件: 1. **Java EE应用程序**:包含业务逻辑和...

    java常用包Hibernate EJB Oracle

    Hibernate支持JPA规范,并提供了事务管理、缓存机制、查询语言HQL等特性,使得Java开发者可以更专注于业务逻辑,而不是底层的数据访问细节。 2. **EJB (Enterprise JavaBeans)**:EJB是Java EE平台的一部分,用于...

    JPA、hibernate项目常用包

    现在引入了一组全新的 API:Java Persistence API JPA 以允许开发者管理 Java EE(甚至 SE)应用程序中的关系数据 另外 Sun 声称 Java Persistence API 表现了一些 Hibernate TopLink(二者都会在稍后讨论) JDO ...

    java常用包 Hibernate EJB Oracle JavaEE

    它包含了多个服务,如Web容器、EJB容器、JPA(Java Persistence API)、JSF(JavaServer Faces)等,提供了全面的框架和API来处理网络应用的需求,如安全性、事务、邮件服务等。 以上知识点涵盖了Java开发的核心...

    org.hibernate.ejb-library-3.4.0.GA

    9. `com.springsource.org.hibernate.ejb-3.4.0.GA.jar`:本题的重点,这个库提供了对Java EE环境中EJB3规范的支持,包括JPA(Java Persistence API)。 10. `com.springsource.javax.persistence-1.99.0.jar`:JPA...

    org.hibernate.ejb-library-3.4.0.GA-A

    8. `com.springsource.org.hibernate.ejb-3.4.0.GA-A.jar`:这是针对EJB的Hibernate扩展,提供了对JPA(Java Persistence API)的支持。 9. `com.springsource.javax.persistence-1.99.0.jar`:JPA是Java EE规范的一...

    EJB3.0-JPA实体的注解规范以及Hibernate特有的扩展

    ### EJB3.0-JPA实体的注解规范以及Hibernate特有的扩展 #### 一、概述 EJB3.0引入了一种新的编程模型,它基于Java Persistence API (JPA),使得开发人员能够更加轻松地创建企业级应用。JPA允许使用POJO(Plain Old...

    Hibernate JPA

    <provider>org.hibernate.ejb.HibernatePersistence <class>org.shirdrn.entity.MyUser <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/> <property name="hibernate....

    基于hibernate3.6的jpa例子

    <provider>org.hibernate.ejb.HibernatePersistence ... ``` 现在,我们可以通过EntityManager接口来操作实体。例如,创建一个新的用户: ```java EntityManagerFactory emf = Persistence....

    JPA操作手册,包括EJB3.0

    ### JPA操作手册与EJB3.0:深入解析及迁移指南 #### 一、概述 JPA(Java Persistence API)作为一种标准化的对象关系映射(ORM)技术,旨在为Java平台提供一个统一的数据持久化解决方案。它最初是在EJB3.0规范...

    EJB_JPA数据库持久层开发详解

    ### EJB_JPA数据库持久层开发详解 #### JPA与数据持久化技术 **数据持久化**是指将程序运行时的数据保存到永久存储设备中,以便在下次运行时能够读取和使用这些数据。在Java领域,有多种数据持久化技术,包括序列...

    JPA注解详细解释、EJB3、 Hibernate开发

    ### JPA注解详解 Java Persistence API (JPA) 是一种用于管理关系型数据库对象的标准。JPA 使用注解来简化对象与关系映射(ORM)的过程,这使得开发者能够更加专注于业务逻辑而不是数据访问层的细节。下面将详细...

    巴巴运动网源码 巴巴运动网 EJB+JPA+SSH

    【巴巴运动网源码 巴巴运动网 EJB+JPA+SSH】是一个与电子商务相关的项目源码,其中融合了多种技术栈,包括EJB(Enterprise JavaBeans)、JPA(Java Persistence API)以及SSH(Struts + Spring + Hibernate)。...

    EJB3_JPA文档

    ORM技术如Hibernate和TopLink,通过映射对象与数据库表来简化数据操作,为后续的JPA奠定了基础。 二、JPA的核心概念 1.2.1 实体(Entity) 在JPA中,实体是与数据库表相对应的Java类,它通过注解@javax....

Global site tag (gtag.js) - Google Analytics