gpt4 book ai didi

hibernate - 如何使 Hibernate 应用程序与 DB 无关?

转载 作者:行者123 更新时间:2023-12-04 06:39:34 27 4
gpt4 key购买 nike

我们目前正在内部为我们的项目使用 Oracle 10g,这不太可能改变,但最终我们将向其他客户提供此应用程序,我们需要能够提出替代的免费数据库。

那么使 Hibernate 持久层独立于所使用的底层 RDBMS 的最佳方法是什么?理想情况下,我希望能够只更改 JDBC URL 和使用的方言,因此(至少)Oracle 10g 和 MySQL 或 PostgreSQL 之间切换。

主要问题来自 ID 生成策略。我们目前正在为我们的 ID 使用基于序列的生成器,每个表一个序列。明显的举动似乎转向了“原生”策略。但是对于所有表,它会是一个唯一的序列吗?我们在 Oracle 上运行的生产系统中的现有数据会发生什么?如何迁移?有哪些陷阱?

从一种 RDBMS/方言切换到另一种 RDBMS/方言时,还有其他需要注意的事情吗?

最佳答案

我认为 hilo ID 生成器可以跨所有数据库移植。
但是,如果您选择“ native ”,那么我们将在迁移数据库数据时遇到一些挑战。最好在新数据库中从头开始,通过创建对象并使用 Hibernate 保存它们来初始化初始方案数据。这意味着不再通过从数据库转储/备份之一恢复和删除事务行来初始化架构:)

关于hibernate - 如何使 Hibernate 应用程序与 DB 无关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4427631/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com