使用多个数据库和 Liquibase 时的最佳 Hibernate 主键生成类型

Posted

技术标签:

【中文标题】使用多个数据库和 Liquibase 时的最佳 Hibernate 主键生成类型【英文标题】:Best Hibernate primary key Generation Type when using multiple databases and Liquidbase 【发布时间】:2021-06-20 11:10:20 【问题描述】:

我有一个使用 Hibernate 进行持久性的应用程序,我正在使用 Liquibase 处理模型版本迁移。

我的应用程序需要支持各种数据库(Oracle、DB2、MS Sql、mysql,不是必须的,但也需要 H2)。在我需要支持多个数据库的情况下,是否有处理主键生成类型的最佳实践?

我遇到了this article,这表明:

@GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
@GenericGenerator(name = "native", strategy = "native")

这是正确的方法吗,或者对于 Hibernate/Liquidbase 是否有任何其他具有多个数据库实现的最佳实践?

【问题讨论】:

【参考方案1】:

您可以通过this document 了解如何使用 liquibase 添加主键。

【讨论】:

以上是关于使用多个数据库和 Liquibase 时的最佳 Hibernate 主键生成类型的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring-Boot 启动时的 Liquibase 迁移不起作用

Liquibase 格式的 SQL 更改日志和多个文件

使用 RemoteObject 和多个组件时的 Flex 4 最佳实践

找到多个匹配 null.PUBLIC 的目录/模式 - Hsqldb / Liquibase

Liquibase:组织变更日志的最佳实践

spring boot 中的多个 liquibase 配置