2016-10-02 3 views
1

Я новичок в спящем режиме. Изучение интернет-источника. Как мы знаем, с помощью Hibernate Dialect мы можем легко перенести одну базу данных на другую (например, DB2 To MySQL), то есть только часть Java, которую мы можем перенести.Перемещение базы данных с Hibernate

Но как можно перенести хранимую процедуру и индексирование, специфичные для базы данных? И может ли спящий режим предоставлять такую ​​возможность для миграции?

+0

Я думаю, этот вопрос слишком широк. Что вы имеете в виду с миграцией базы данных? С Hibernate может быть возможно использовать один и тот же код в разных базах данных (на практике это, вероятно, сложнее частично из-за проблем, о которых вы упомянули (например, хранимых процедур), которые не могут автоматически выполняться Hibernate). Но перенос данных из одной базы данных в другую - это еще одна проблема, которая не является задачей Hibernate. – user140547

+0

Хорошо, спасибо за ваш комментарий. Да, я одобряю ваш комментарий, что Hibernate не заботится о конкретных вещах базы данных (Store Procedure или Index). Любая идея. Какой инструмент доступен, чтобы помочь нам в успешной миграции баз данных из DB2 в MySQL или Postgresql? – user1997254

ответ

0

Hibernate используется для хранения объекта класса Java в базе данных и получения его как есть. Это структура ORM. Какой спящий режим может помочь вам в вашей миграции БД, как показано ниже:

. Изменяя некоторые свойства, такие как диалект, URL-адрес соединения, класс драйвера и т. Д., Вы сможете хранить/извлекать объекты класса Java в новую базу данных, к которой вы переносите.

. Обратное проектирование. Если у вас уже есть структуры таблиц (содержащие все отношения между таблицами) в вашей старой БД, то с использованием обратной инженерии вы можете создавать классы POJO для спящего режима.

Netbeans имеет встроенную поддержку для обратного проектирования.
Hibernate Tool/Plugin может использоваться для Eclipse IDE для достижения обратной инженерии.

Теперь хранимая процедура, триггеры и т. Д., Созданные в вашем db, не из спящего режима. Это означает, что спящий режим не имеет к этому никакого отношения. Потому что дополнительные вещи (процедура, курсор, триггеры и т. Д.), Которые работают в вашей базе данных, имеют определенную цель, чем приложение Java для хранения/манипулирования/получения данных.

Следовательно, вы можете перенести из старой базы данных в новую, но вам не потребуется спящий режим для переноса этих дополнительных вещей. Вместо этого вы можете использовать некоторые методы или процедуры, подобные этому Migrating Oracle Databases to SQL Server.

Эта вещь (хранимые процедуры, триггеры миграции) может быть выполнена на уровне базы данных, и приложение java не имеет к этому никакого отношения.

+0

Любая ссылка или учебник для перехода от DB2 к MySQL ????? – user1997254