首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解spring boot和hibernate交互

了解spring boot和hibernate交互
EN

Stack Overflow用户
提问于 2018-01-28 23:51:23
回答 2查看 215关注 0票数 1

我是JPA世界的新手,对JPA和HIBERNATE以及它与Spring数据的关系有误解,你们能告诉我Spring数据是像JPA一样的规范还是JPA的实现,如果这是真的,HIBERNATE在哪里?以及为什么我们有这个(springframwork)

代码语言:javascript
复制
import org.springframework.data.jpa.repository.JpaRepository;

而不是HIBERNATE导入?我们在哪里调用JPA接口?注意:我是基于this articale

先谢谢你……

EN

回答 2

Stack Overflow用户

发布于 2018-01-29 00:02:56

JPA是对象关系映射的规范。

Hibernate就是这个规范的一个实现。

Spring-data-JPA是JPA之上的抽象,简化了存储库的编写,即使用JPA API获取、保存、删除和查询JPA实体的类。

当然,您可以通过简单地阅读the documentation了解更多信息

票数 1
EN

Stack Overflow用户

发布于 2018-01-29 00:36:10

用一些历史来解释。

JDBC第1阶段:最初,所有数据库操作都是使用和SQL语句在代码中完成的。问题1:更改底层数据库是一个大问题,因为这将需要大量的代码更改,因为我们使用的是特定于正在使用的数据库的SQL语句(紧密耦合)

ORM解决方案1:提出了一种模型,这将有助于轻松地替换数据库。

阶段2:我们有不同的ORM,比如Hibernate、IBatis等等,它们帮助我们轻松地替换数据库。

问题2:如果我们必须改变对象模型本身(而不是数据库),我们又遇到了同样的问题。ORM解决方案2:为任何持久化或ORM制定了一个规范

阶段3: JPA解决了我们之前遇到的问题。

问题3:现在是Nosql数据库的时代。现在我们又遇到了同样的问题,如果我们必须将数据库从sql切换到nosql,反之亦然(因为sql只适用于关系型数据库)。

解决方案3:引入了spring-data解决了这个问题。它提供了更高级别的抽象。spring-data提供了不同的模块。

用于关系数据库的spring-data-jpa

spring-data-mongodb for Mongo

spring-data-redis for redis

spring-data-cassandra的cassandra

现在来看看在什么情况下指定Hibernate的问题。

因为您使用的是spring-boot(这是固执己见的),所以它将hibernate作为默认ORM来与数据库(关系)对话。如果您希望使用其他ORM,则必须手动配置它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48488211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档