jpa 和 hibernate 有什么区别

JPA和Hibernate之间的主要区别在于JPA是一个规范,而Hibernate是Red Hat对JPA规范的实现。只有一个JPA规范。JPA规范通过Java社区进程(JCP)协同开发,更新作为Java规范请求(JSR)发布。如果社区同意JSR中提出的所有更改,则会发布新版本的API。

jpa 和 hibernate 有什么区别-Worktile社区

只有一个JPA规范。但是,有许多不同的实现。各种项目,包括DataNucleus,TopLink,EclipseLink,OpenJPA和Hibernate,提供了JPA规范的实现。这些项目及其背后的供应商通过尝试提供更快,更高效,更易于部署,与更多外部系统集成以及可能具有比其他更少限制性许可的实施而竞争。Hibernate只是JPA规范的许多实现之一,尽管Java开发人员最常熟悉它。

事实上,JPA与Hibernate的问题不是很好,因为这两个概念之间确实没有任何交叉性。你无法在性能,可扩展性或可靠性方面真正比较JPA和Hibernate,因为两者并没有真正在这些轴上竞争。JPA是规范。Hibernate是一个实现。

没有组织需要在Hibernate和JPA之间进行选择。组织是否选择使用JPA。如果组织确实选择使用Java Persistence API与其关系数据库系统进行交互,则可以在各种实现之间进行选择,其中较受欢迎的是JBoss Hibernate项目。

鉴于JPA和Hibernate履行了两个非常截然不同的角色,问题就出现了为什么在涉及这两个术语时会出现如此多的混淆。据我所知,混淆可追溯到JPA规范最初发布时。

在2006年初始发布JPA 1.0之前,有许多供应商在对象关系映射(ORM)工具领域进行竞争,他们都拥有非常相似的API,可以实现许多相同的目标。但是,这些项目都没有兼容和可互换的代码。JPA的目标是标准化Java应用程序如何执行ORM。在JPA 1.0中,所有竞争实现都是统一的,因为它们现在都实现了一个通用的标准API。

然而,由于Hibernate的普及,许多人在真正意味着JPA时继续使用Hibernate一词。Hibernate成为JPA的同名词,正如Kleenex是浴室纸巾的同名词一样。即使在今天,当开发人员和架构师谈论Hibernate时,他们实际上只是指JPA规范。

延伸阅读:

什么是jpa?

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。

JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分。但它又不限于EJB 3.0,你可以在Web应用、甚至桌面应用中使用。JPA的宗旨是为POJO提供持久化标准规范,由此可见,经过这几年的实践探索,能够脱离容器独立运行,方便开发和测试的理念已经深入人心了。Hibernate3.2+、TopLink 10.1.3以及OpenJPA都提供了JPA的实现。

JPA的总体思想和现有Hibernate、TopLink、JDO等ORM框架大体一致。

文章标题:jpa 和 hibernate 有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37365

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月7日 下午10:19
下一篇 2023年2月7日 下午11:01

相关推荐

  • 怎么在官网安装python

    Python是一种流行的编程语言,适用于许多应用程序和系统开发。本文将指导您从Python的官方网站安装Python,包括1、访问官方网站;2、选择适合的版本;3、下载安装程序;4、运行安装程序;5、验证安装。这些步骤适用于Windows、Mac和Linux操作系统。 一、访问官方网站 打开浏览器并…

    2023年8月17日
    37300
  • 运营项目如何控标管理工作

    项目控制及标准管理,即控标管理,是指通过对项目标准的制定和执行的监控,确保项目目标的实现和投资回报的最大化。有效的控标管理不仅需要明确的流程和策略、而且需要项目团队的高效协同和利用现代化的管理工具。在项目运营中,控标管理的成功要素包括:制定实用的标准、实时监控和调整、风险识别与管理,以及深入的项目复…

    2024年4月11日
    4700
  • pg数据库和mysql区别

    pg数据库和mysql的区别是:1、历史与社区不同;2、数据类型支持不同;3、并发控制不同;4、复制方式不同;5、性能不同;总的对比来看,pg数据库在功能上更加强大,尤其是在事务处理和并发控制方面,而mysql在小型应用中由于其优异的性能和易用性被广泛使用。 一、历史与社区不同 pg数据库,全称Po…

    2023年5月24日
    1.9K00
  • 数据分析在市场研究中的作用

    在市场研究中,数据分析起着至关重要的作用,它帮助企业洞察市场趋势、了解消费者行为、优化营销策略并驱动业务决策。本文将集中讨论数据分析在市场研究中的五个核心观点:1、提供决策支持、2、揭示消费者洞见、3、竞争分析、4、风险管理、5、产品开发。我们将深入探讨这些观点,展示数据分析如何通过这些方面增加企业…

    2023年12月14日
    34300
  • 如何进行医院项目规划管理

    进行医院项目规划管理主要依赖于以下几个核心原则:明确项目目标、制定详细计划、保障资源配置、风险管理、以及持续监控与评估。在这些原则中,制定详细计划尤为关键,因为这直接关系到项目的可行性以及后续各阶段的顺利进行。 制定详细计划涉及到对项目的详尽分析,包括时间安排、预算编制、资源分配、以及具体操作步骤的…

    2024年4月10日
    5100
  • can总线与485总线区别

    Can总线与485总线的区别是:1、通信协议不同;2、物理层实现方式不同;3、应用领域不同;4、抗干扰能力不同;5、通信距离与速率不同。总的来说,Can总线相较于485总线,具有更强的数据处理能力和抗干扰性,但也相对复杂一些。 一、通信协议不同 CAN总线使用的是CAN2.0通信协议,它是一种以车载…

    2023年6月2日
    2.0K00
  • oa办公软件有哪些

    OA办公软件通常提供的功能有1、内部沟通与协作、2、日程管理、3、文档处理、4、项目管理、5、人员与考勤管理。里面,内部沟通与协作的部分通常是企业运转最核心的部分,因为它支持团队成员之间高效、实时的交流,还包括文件共享、讨论区和视频会议等功能;这些工具有利于提高团队的协作效率和公司的运营效率。 一、…

    2024年1月11日
    22700
  • 高校一般用oa系统

    标题:高校一般用OA系统 一、直面议题: 高校一般采用在线办公自动化(OA)系统1、提高工作效率;2、简化流程;3、保障信息安全;4、促进沟通协作。这些系统通过集成化的信息平台,为大学的日常运作提供技术支持,实现教职工事务的数字化管理。重点关注信息安全,高校OA系统设计必须严格遵守数据保护规定,确保…

    2024年1月15日
    23700
  • 什么是单子

    单子是一个概念,来源于数学的一个部分,叫做范畴论,而不是一个阶级或者特质。在软件世界中,它可以在任何支持泛型的静态类型语言中实现为一个类或特征。此外,我们可以将它视为一个包装器,它将我们的值放在某个上下文中,并允许我们对该值执行操作。 单子是一个概念,来源于数学的一个部分,叫做范畴论,而不是一个阶级…

    2023年5月28日
    48300
  • WebRTC 系列之音频的那些事

    WebRTC (Web Real-Time Communication)是一个支持网页浏览器进行实时语音对话或视频对话的 API。W3C 和 IETF 在2021年1月26日共同宣布 WebRTC 1.0 定稿,促使 WebRTC 从事实上的互联网通信标准成为了官方标准,其在不同场景的应用将得到更为…

    2022年3月16日
    1.9K00

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部