0

我们有一个使用 Hibernate 作为 OR Mapper 的 java 项目。我们需要该项目与 Oracle 和 Mysql 一起使用。因为有些客户不想安装 Oracle。我们在实体上添加了@sequenceGenerator 注释以具有序列。但是该项目无法使用这些注释连接到 Mysql DBMS。有什么方法可以让我们在 mysql 和 Oracle 模式下都拥有序列,而无需任何更改?

4

2 回答 2

0

据我所知,这是不可能的,因为

MySQL 支持AUTO_INCREMENT和 Oracle 支持SEQUENCE

还有许多其他因素需要考虑,例如数据类型和索引

由于 Oracle 是ORDBMS,而 mysql 是DBMS,因此缺少 MySQL 中存在的许多功能

解决方案

我认为我们可以为每个人使用单独的数据库来做到这一点

[ 由于我们有许多免费工具可以将数据从 Oracle 转换为 MySQL,我们可以使用它们。甚至其中一些不是免费的,但我们可以隐藏结构使用它们链接1链接2 ]

数据库迁移需要全面了解源数据库和目标数据库的数据类型、索引、列和表选项等

或者

你可以使用同样支持SEQUENCES的 PostgreSQl,它也是一个 GPL

于 2013-01-23T09:55:54.987 回答
0

最便携的方法是使用TableGenerator。它是可移植的,因为没有使用数据库提供者特定的构造。最后生成的值存储到数据库表中,并通过 SQL 查询检索和增加值。

Hibernate文档中也介绍了用法。

于 2013-01-23T19:50:57.527 回答