java - 使用 Hibernate 进行数据库迁移

标签 java hibernate database-migration

我是 hibernate 新手。学习网络资源。 正如我们所知,在 Hibernate Dialect 的帮助下,我们可以轻松地将一个数据库迁移到另一个数据库(例如 DB2 到 MySQL),即我们只能迁移 Java 部分。

但是如何迁移特定于数据库的存储过程和索引? hibernate 可以提供这样的迁移功能吗?

最佳答案

Hibernate 用于将 java 类对象存储到数据库中并按原样检索它。那是一个ORM框架。 hibernate 可以帮助您进行以下数据库迁移:

1。通过更改方言、连接 url、驱动程序类等一些属性,您可以将 java 类对象存储/提取到要迁移到的新数据库中。

2。逆向工程:如果您的旧数据库中已经有表结构(包含表之间的所有关系),那么使用逆向工程您可以为 hibernate 创建 POJO 类。

Netbeans 内置了对逆向工程的支持。
Hibernate Tool/Plugin可用于Eclipse IDE实现逆向工程。

现在,在您的数据库中创建的存储过程、触发器等不是来自 hibernate。这意味着 hibernate 与它无关。因为,在你的数据库上工作的额外的东西(过程、游标、触发器等)比 java 应用程序有一些特殊的目的来存储/操作/获取数据。

因此,您可以从旧数据库迁移到新数据库,但不需要 hibernate 来迁移那些额外的东西。相反,您可以使用像这样的一些技术或程序 Migrating Oracle Databases to SQL Server .

这些东西(存储过程,触发器迁移)可以在数据库级别完成,java应用程序与它无关。

关于java - 使用 Hibernate 进行数据库迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39816507/

相关文章:

Java3D - 是否有可能有一个跟踪移动对象的查看平台

java - Spring Data JPA 与事务

node.js - 了解 Sequelize 数据库迁移和种子

c# - 使用 fluentmigrator 运行 sql 脚本

java - 尝试创建字符计数器,但我的按钮没有更新 while 循环 boolean 值来执行此操作

java - 检查java字符串是否有组合字符

java - 我尝试使用 'AlarmManager'设置闹钟,但没有成功,哪里出了问题?

hibernate - 使用AbstractPersistenceEventListener进行透明加密

java - Hibernate乐观锁方法

ruby-on-rails-3 - 在 Rails 应用程序的 Rake 任务中删除表