繁体   English   中英

一般意义上的 h2 与 hibernate 和 MySql 之间的区别

[英]Difference between h2 vs hibernate and MySql in general sense

我在构建 spring web 时了解了 H2,Hibernate。 早些时候,当我开发 android 应用程序时,我使用了 sqlite 或 mySQL 数据库。 在新平台上使用它们时,我对它们之间的区别有点摸不着头脑。

我目前的理解是:

H2和MySQL都是关系型数据库管理系统

Hibernate是orm(对象关系模型)

我有点困惑,如果这三个可以在同一个应用程序中使用,或者这三个不能同时使用。请让我们理解简单的英语和一个现实生活中的例子。TIA

是的,H2 和 MySQL 都是关系数据库。

MySQL 是一个基于服务器的数据库——它作为独立于您的应用程序的进程运行,通常用于生产部署。

H2 是一个轻量级数据库,它可以完全在内存中运行,也可以在磁盘存储中运行,无论是在应用程序的进程中(嵌入式)还是在单独的进程中。 它最常用于测试场景,恕我直言,不适合大多数生产应用程序。

Hibernate 是 ORM,只要您远离供应商特定的功能,就可以将您的应用程序与您正在使用的特定数据库隔离开来。

在使用 Hibernate 和在其之上构建的库时,通常在生产中使用 MySQL 等独立数据库,在测试中使用 H2 等嵌入式数据库,只有一些配置文件在两者之间发生变化。

由于您使用的是 Spring,因此可以说使用 Spring 数据和 JPA 比直接使用 ZF8CB47B31350AAE13DFA3 更好。 Hibernate 与 Spring 数据捆绑在一起,作为 JPA 提供程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM