问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是jpa,他跟hibernate是什么关系?

发布网友 发布时间:2022-04-22 06:22

我来回答

4个回答

热心网友 时间:2023-07-04 20:28

1、JPA全称Java Persistence API. JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

JPA的主要目标之一就是提供更加简单的编程模型:在JPA框架下创建实体和创建Java 类一样简单,没有任何的约束和*,只需要使用 javax.persistence.Entity进行注释,JPA的框架和接口也都非常简单,没有太多特别的规则和设计模式的要求,开发者可以很容易地掌握。JPA基于非侵入式原则设计,因此可以很容易地和其它框架或者容器集成。

2、Hibernate是JPA的具体实现。但是Hibernate出现的时间早于JPA。JPA是SUN在持久化框架发展起来后提出的规范。Hibernate从3.2开始,就开始兼容JPA。Hibernate3.2获得了Sun TCK的JPA(JavaPersistence API) 兼容认证。

Hibernate作为JPA的一种实现,jpa的注解已经是hibernate的核心,hibernate只提供了一些补充,而不是两套注解。hibernate对jpa的支持够足量,在使用hibernate注解建议使用jpa。

扩展资料

JPA查询能力

JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是Hibernate HQL的等价物。JPA定义了独特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。

高级特性

JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。

参考资料来源:百度百科:JPA

热心网友 时间:2023-07-04 20:29

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

JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。

和hibernate不类似。

Hibernate是一个以LGPL(Lesser GNU Public License)许可证形式发布的开源项目。在Hibernate官网上有下载Hibernate包的说明。Hibernate包以源代码或者二进制的形式提供。

hibernate的语言特点是:

1、将对数据库的操作转换为对Java对象的操作,从而简化开发。通过修改一个“持久化”对象的属性从而修改数据库表中对应的记录数据。

2、提供线程和进程两个级别的缓存提升应用程序性能。

3、有丰富的映射方式将Java对象之间的关系转换为数据库表之间的关系。

4、屏蔽不同数据库实现之间的差异。在Hibernate中只需要通过“方言”的形式指定当前使用的数据库,就可以根据底层数据库的实际情况生成适合的SQL语句。

5、非侵入式:Hibernate不要求持久化类实现任何接口或继承任何类,POJO即可。

JPA是需要Provider来实现其功能的,Hibernate就是JPA Provider中很强的一个从功能上来说,JPA就是Hibernate功能的一个子集。Hibernate 从3.2开始,就开始兼容JPA。Hibernate3.2获得了Sun TCK的JPA(Java Persistence API) 兼容认证。

拓展资料

JPA已经作为一项对象持久化的标准,不但可以获得Java EE应用服务器的支持,还可以直接在Java SE中使用。

热心网友 时间:2023-07-04 20:29

楼上的放屁,jpa是标准,hibernate是框架,懂?jpa是sun推出的持久化规范(java persistens api),hibernate只是实现了jpa而已,你可以理解成jsf和myfaces的关系

热心网友 时间:2023-07-04 20:30

1,JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。

2,Hibernate作为JPA的一种实现,jpa的注解已经是hibernate的核心,hibernate只提供了一些补充,而不是两套注解。hibernate对jpa的支持够足量,在使用hibernate注解建议使用jpa。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 天津寝园南马集公墓骨灰每年存放价格以及海葬价格 怎么把桌面整理器小格子合并 怎样把桌面整理得更清楚,使用更方便 天津市东丽区哪有可以安放骨灰盒的 天津哪里有长期存放骨灰盒的地方,另外谁知道大港... 白莲花的生长过程 怎样可以将电脑桌面整理简洁一点? 如何让桌面更整洁 天津第二殡仪馆骨灰格位价格 请问如何将桌面完全铺满整个显示器? 莲子是怎么来的? 天津陵园多少钱 公墓安葬骨灰盒注意事项 莲花和莲蓬什么关系?有莲花一定有莲蓬吗? 莲蓬是怎样形成的 荷花生长在哪里 莲蓬是生长在泥土里吗 莲蓬是哪种水生草本花卉的果实? 莲蓬的味道,作用,形状,颜色是什么 莲蓬长在哪里 莲蓬什么时候长出来 如何更改桌面布局! jpa是什么,和hibernate类似? 天津一小区住十万个骨灰盒,此小区为何地下室最贵? hibernate和JPA应该选哪个? hibernate+jpa 和hibernate的区别 天津市东丽区骨灰撒海办理流程 在QQ个性装扮里付费的头像是永久的吗? 学jpa好还是hibernate好 免费使用收费QQ头像技巧 在天津静海买墓地需要注意什么?选墓地有什么讲究... hibernate和jpa QQ付费头像咋样能买断? Jpa的注解和hibernate的注解有什么区别 关于QQ会员头像 直接使用 hibernate 的人多, 还是用hibernate JPA... 怎么用1块钱设置QQ头像?它是永久的吗? qq头像要钱了? 60岁女人经常尿裤子憋不住尿是怎么回事 为什么说支持jpa规范的hibernate前景更好 60岁女性尿频尿痛,该如何治疗?