将我的 H2 内存数据库转换为 SQL 数据库会扰乱我项目中的任何实际逻辑吗? Spring 开机

Will Converting my H2 memory database to a SQL database mess up any actual logic on my project? Spring Boot

我目前正在为我的网站使用 H2 内存数据库。到目前为止一切正常,但为了取得进步,我的老师说要从 h2 数据库过渡到 SQL,因为它会在您每次重新启动程序时重置。我想知道如果我过渡了,它会不会弄乱我的任何逻辑/代码。我知道我必须制作一个数据库连接器 class,但我只是好奇是否需要编辑大部分代码以便将信息放入数据库中。

如果您正在使用任何形式的 ORM 框架,如 Hibernate、MyBatis 等,并且您不依赖于 H2 DB 的任何本机查询、过程、函数等。你会没事的。

这取决于您拥有哪种“sql 代码”。如果您正在使用 Hibernate(例如通过 spring-data-jpa)并且您只使用了注释而从未使用过 @Query("some custom SQL code"),那么您很可能是安全的,因为 Hibernate 知道如何将 java 注释转换为相应的你选择的数据库(h2,postgres,你有什么)。

但是,如果您使用了自定义查询,那么这些自定义查询可能会开始失效,具体取决于您选择的供应商。例如。如果您有 SELECT TOP 10 * FROM users 可能适用于 Microsoft SQL 服务器,但可能无法用于 Postgres。