
大家好,傻傻分我是不清yes。
国庆假期接近尾声,傻傻分明天最后一天了,不清要开始收收心啦~
今天讲讲一个初学者(或许一些老手)可能没去搞懂的傻傻分几个概念:Hibernate、JPA、不清Spring Data JPA 之间的傻傻分关联。
嘿嘿,不清前段时间有位同学说去大厂面试被问了这个。傻傻分
好了,不清话不多说,傻傻分发车!
Hibernate 就不多介绍了,不清 一个 ORM 框架,傻傻分它提供了 HQL 来屏蔽底层不同数据库厂商 SQL 之间的不清差异,大大提升了程序的傻傻分可移植性。
也提供了一套 Criteria API 来进行数据操作,使用这套 API 不需要关注底层 SQL 的实现,直接操作 API 即可。
JPA 是一个 Java 持久化规范,在 JDK 5 后提出的。
它的提出主要是为了整合市面上已有的b2b信息网 ORM 框架,如 Hibernate、EclipseLink 等。
官方觉得:你们搞框架可以,但是得按照我 Java 定的规矩来。
只有统一了接口,我们程序员使用的时候才会便捷。但它只是一个规范,具体实现还是由这些 ORM 框架来完成。
所以 JPA 的提出是为了屏蔽市面上各大 ORM 框架的差异,便于开发人员的使用。

虽然市面上很多 ORM 框架都实现了 JPA 规范,但它们基于 JPA 基础又做了一些扩展,这使得使用 JPA 的时候不能无缝切换底层的 ORM 框架。
所以 Spring 又提出了 Spring Data JPA 。
Spring Data JPA 符合 JPA 规范,但它是一个抽象层,上接 JPA 下接各大 ORM 框架,WordPress模板简化了持久层开发且屏蔽了各大 ORM 框架的差异,两个字,舒服。

JPA 是规范,统一了规范才便于使用。
Hibernate 是 ORM 框架,它是 JPA 这个规范的一个实现。
Spring Data JPA 则是 Spring 提出的,因为不同的 ORM 框架虽说有 JPA 规范约束,但是还是有不同的扩展,不易无缝替换,所以基于 JPA 添加了一个抽象层,来屏蔽不同 ORM 框架的差距。
这其实类似于 Spring 自己定义一个标准来统一 Spring 对持久层的支持,这样对于我们这些在 Spring 使用 ORM 框架的开发来说,不需要管底层 ORM 怎么变了。源码下载
相关文章:
IT技术网香港云服务器源码库企商汇服务器租用亿华云益华科技IT资讯网源码下载益强IT技术网极客码头技术快报码力社亿华互联编程之道汇智坊多维IT资讯IT资讯网思维库益强资讯优选益强智囊团云智核益强科技益强智未来亿华科技亿华智慧云益强数据堂亿华云计算码上建站亿华云益强前沿资讯科技前瞻益强科技亿华灵动益华IT技术论坛智能时代益强编程舍全栈开发创站工坊益强编程堂益华科技
0.115s , 11665.3515625 kb
Copyright © 2025 Powered by Hibernate、JPA、Spring Data JPA,傻傻分不清,亿华互联 滇ICP备2023000592号-16