jpa和hibernate的区别,有什么区别?

很多小伙伴可能都不知道jpa和hibernate有哪些区别,因为它们几乎每次都会被同时提起,这次我们就来了解一下它们之间的区别吧。

Jpa

全称为:Java Persistence API, 我们中国一般叫它java持久层应用接口,它不是一个框架,是一种ORM规范,之前比较流行的hibernate框架就是它的一种具体实现。

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

Hibernate

Hibernate是一种针对Java环境的对象/关系映射(ORM)的解决方案。“对象/关系映射”是指在对象模型表示与关系数据模型表示之间映射数据的技术。

Hibernate一般负责从Java类到数据库表及从Java数据类型到SQL数据类型的所有映射。此外,它还提供了数据查询和检索功能。它能够显著减少开发时间。Hibernate的最初设计目标是通过消除使用SQL和JDBC来进行手工数据手工处理的各种需求,使开发人员摆脱95%的常见数据持久性相关编程任务。

但与很多其他持久性解决方案不一样,Hibernate不会向开发者隐藏SQL,并保证我们对关系技术和知识的投资一如既往地有效。

Hibernate与jpa区别

它们的主要区别就在于规范与实现,jpa只是一个规范而已,并没有能够影响到数据的能力,而Hibernate则是具体的实现,它是能够真真切切影响到数据库的。

在项目中,只会有一个jpa规范,但实现不会,实现有着各自不同的项目,Hibernate只是JPA规范的许多实现之一,只是Java开发人员最熟悉它而已。

springDataJpa是对repository的封装,简化了repository的操作。

以上就是本篇文章的所有内容,对于一些java常见问题及解决方法还有疑问的话,欢迎关注我们网站了解详情。

推荐阅读:

jpa多表关联查询,jpa是怎么实现多表查询?

Springdatajpa是什么?有什么作用?

jpa框架,jpa优势是什么?