何时考虑JPA的备选方案
您使用的 Java 的版本决定了实际是否可以应用 JPA。JPA 是 EJB 3.0 规范的一部分,而该规范是 Java EE 5 版本的一部分。如果您未更新到 Java EE 5,则无法使用 JPA。
您的应用程序需要 JPA 无法提供的服务,比如那些由 EJB 容器提供的服务,在那些情况下您更依赖 EJB。
在结束对此框架的讨论前,让我们列出一些使用 JPA 作为持久化框架的优势和缺点。
JPA有什么优势?
JPA 是基于标准的。越来越多的提供商期待在不久的将来提供 JPA 实施。
它提供了 Hibernate 和 TopLink 中最好的功能。
它可以和 Java SE 和 Java EE 应用程序一起使用,需要使用 EJB 容器,也可以不要。
JPA有什么缺点?
由于非常新,JPA 规范可能还需要进过重要发展才会变得很稳定。
JPA 是一个规范而不是一个产品。您需要提供商提供一个实施,才能获得这些基于标准的 API 的优势。
何时考虑Hibernate的备选框架
您还不想要其他框架。尽管简单,Hibernate 框架仍然有自己的学习曲线、维护/更新周期,等等。
您需要容器提供的服务,比如那些由 EJB 提供的服务,在那些情况下您的选择局限于 EJB。
如果您正在使用或计划使用 Hibernate 作为您的持久化框架,这里是一些它的优势和缺点。
Hibernate有什么优势?
Hibernate 易于学习和使用。正如我在上面提到的,在您可以使用它之前,您只需要了解几个简单、自我描述的配置文件。
它 非常灵活。您可以在任何需要持久化服务的应用程序架构中使用 Hibernate。您可以通过 Servlet 和/或 Enterprise Java Bean 在 Standard Java 应用程序、Enterprise Java 应用程序中使用它。它也可以和 Spring 框架很好地集成。
它可以很好地向上扩展,因为它被设计为从底层一直到集群环境中工作。通过类似 Lazy Initialization 的技术以及通过 CGLIB 运行时间字节代码生成库优化 Java 反射,最新版的 Hibernate 的性能也得到了加强。
Hibernate有什么缺点?
Hibernate 是另一个拥有自己的应用和维护周期的框架。
尽管有积极的社区支持,但是有时候缺乏专注于此产品的提供商也使得宣传应用此框架显得没有说服力。
分享到:
相关推荐
### JPA与Hibernate的优缺点分析 #### Java Persistence API (JPA) Java Persistence API(简称JPA)是Java平台提供的一套对象关系映射(ORM)标准,它旨在为Java应用提供一种统一、灵活的数据持久化解决方案。JPA...
### JPA与Hibernate的关系 #### 一、JPA概述 **Java Persistence API (JPA)** 是一种用于管理Java应用中的关系型数据库的标准API。它的主要目的是为了提供一套统一的、可移植的对象-关系映射(ORM)解决方案。JPA...
在模型层,定义与数据库表对应的实体类,使用JPA的`@Entity`注解标识。同时,使用`@Table`指定表名,`@Id`标记主键,`@GeneratedValue`定义主键生成策略。 最后,在控制器层,使用`@RestController`或`@Controller`...
而**Hibernate**则是一个实现了JPA规范的开源ORM框架,它简化了数据库操作,使得开发者可以使用Java对象来操作数据库,而无需编写大量的SQL语句。 在**JPA + Hibernate**的例子中,通常会涉及以下几个核心概念: 1...
3. **hibernate-jpa-2.x-api**: 这个jar包包含了JPA的API定义,是与Hibernate交互时所需的依赖。 4. **hibernate-validator**: Hibernate的验证框架,符合JSR-303/349标准,用于校验实体属性。 5. **javassist**: ...
**JPA(Java Persistence API)与Hibernate:关系数据库持久化框架** JPA是Java平台上的一个标准,由JSR 317定义,用于管理Java应用程序中的对象持久性。它是Oracle公司提出的,目的是为了简化Java应用程序对关系...
**三、JPA与Hibernate的关系** JPA提供了一组规范,而Hibernate是这些规范的实现之一。使用JPA可以确保应用程序的可移植性,因为任何符合JPA规范的ORM实现(如Hibernate、EclipseLink等)都可以互换。然而,...
标题“Spring + JPA + Hibernate配置”涉及到的是Java开发中常用的三个框架——Spring、Java Persistence API (JPA) 和Hibernate的集成与配置。这是一份关于如何将这些框架结合使用的教程或参考资料,可能包含了实现...
**JPA(Java Persistence API)与Hibernate:** JPA是Java平台上的一个标准,它定义了如何在Java应用中管理关系数据库。它提供了一种面向对象的方式来操作数据库,通过ORM(对象关系映射)技术将Java对象与数据库表...
在本文中,我们将深入探讨如何在Spring Boot 2.1.4.RELEASE项目中结合JPA(Java Persistence API)和Hibernate实现Redis作为二级缓存。首先,我们需要理解这些技术的基本概念。 Spring Boot 是一个用于简化Spring...
2. **Hibernate实现**:`hibernate-entitymanager.jar`是Hibernate提供的JPA实现,它包含了对JPA规范的实现以及一些扩展功能。 3. **Hibernate核心**:`hibernate-core.jar`是Hibernate的核心库,包括实体管理、...
在Java世界中,Java Persistence API(JPA)和Hibernate是两个非常重要的持久层框架,用于管理应用程序中的对象-关系映射(ORM)。JPA是一种标准的API,而Hibernate是其最流行的实现之一。本教程将指导你如何搭建一...
整合JPA与Hibernate使得开发者可以专注于业务逻辑,而不是底层数据库操作,同时,由于Hibernate的广泛使用和社区支持,遇到问题时通常能找到丰富的解决方案。正确配置和使用这两个工具,可以大大提高Java应用的开发...
这是整合SpringMVC+Spring+SpringDataJPA+Hibernate简单的实现登录的功能,用的是mysql数据库,这是一个web Project 如果你用的是JavaEE6那么你要注意bean-validator.jar和weld-osgi-bundle.jar与slf4j的jar包冲突。...
**JPA(Java Persistence API)与Hibernate** 是Java领域中的对象关系映射(ORM)框架,用于在Java应用中管理和持久化数据。JPA是Java EE的一部分,而Hibernate是其最流行的实现之一。Hibernate4提供了对JPA规范的...
在JPA_Hibernate项目中,Hibernate被用作与数据库交互的主要工具。 **jar包**(Java Archive)是Java平台特有的文件格式,用于打包和分发Java类库。在`jpa_hibernate_jar`这个压缩包中,包含的jar文件很可能是项目...
jpa基于hibernate的实现所需的jar之一,一共有3个jar 这是从里面提取出来的 hibernate-annotations-3.4.0 hibernate-distribution-3.3.1 hibernate-entitymanager-3.4.0 一共16个jar包括一个Mysql的JDBC驱动
在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...
JPA注解和Hibernate建表 一、JPA概述 Java Persistence API(JPA)是Sun官方提出的Java持久化规范,它只是一个规范不是一个产品。JPA的主要目标是提供一种简洁、易用的方式来访问、操作和管理Java应用程序中的数据...