使用Hibernate进行数据库迁移

时间:2016-10-02 11:27:12

标签: java hibernate database-migration

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

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

1 个答案:

答案 0 :(得分:1)

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

<强> 1 即可。通过更改某些属性(如dialect,连接URL,驱动程序类等),您可以将java类对象存储/获取到要迁移到的新数据库中。

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

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

现在,在db中创建的存储过程,触发器等不是来自hibernate。这意味着hibernate与它无关。因为,正在处理数据库的额外事物(过程,游标,触发器等)具有一些特殊目的,而不是用于存储/操作/获取数据的Java应用程序。

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

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