mub*_*bir 7 mysql hibernate h2 spring-boot
我在搭建spring web的时候才知道H2,Hibernate。早些时候,当我开发 android 应用程序时,我使用了 sqlite 或 mySQL 数据库。在新平台上使用这些时,我对它们之间的区别有点不了解。
我目前的理解是:
H2和MySQL都是关系型数据库管理系统
Hibernate 是 orm(对象关系模型)
我有点困惑,如果这三个可以在同一个应用程序中使用,或者这三个不能同时使用。请让我们理解简单的英语和一个现实生活中的例子。TIA
Gre*_*eek 12
是的,H2和MySQL都是关系型数据库。
MySQL 是一个基于服务器的数据库 - 它作为与应用程序分开的进程运行,并且通常用于生产部署。
H2 是一个轻量级数据库,它可以完全在内存中运行,也可以在磁盘存储中运行,无论是在应用程序的进程(嵌入)中还是在单独的进程中。它最常用于测试场景,恕我直言,不适合大多数生产应用程序。
Hibernate 是一种 ORM,只要您远离特定于供应商的功能,就可以将您的应用程序与您正在使用的特定数据库隔离。
使用 Hibernate 和构建在其之上的库时,通常会在生产中使用独立数据库(例如 MySQL),在测试中使用嵌入式数据库(例如 H2),两者之间仅更改一些配置文件。
由于您使用的是 Spring,因此使用 Spring Data 和 JPA 可能比直接使用 Hibernate 更好。Hibernate 与 Spring Data 捆绑在一起,并充当 JPA 提供者。
| 归档时间: |
|
| 查看次数: |
4070 次 |
| 最近记录: |