Использование Hibernate для переноса данных - PullRequest
3 голосов
/ 30 ноября 2011

Разработка совершенно новой схемы / приложения, использующего hibernate для создания таблиц из pojo.

Мое желание - теперь перенести существующие данные из устаревшей базы данных в новую схему, что является вопросом создания адекватного sql и заполнения моего нового pojo.

Во-вторых, предполагается, что это приложение будет использоваться другими, мигрирующими из разных схем БД. Поэтому мое первоначальное мнение состоит в том, чтобы поместить соответствующие SQL-файлы в XML-файлы, чтобы их можно было легко изменить, не изменяя Java.

Например, моя текущая система select loginname from logintable перейдет в pojo: User.setUsername(), а затем сохранит спящий режим. И тогда я могу просто изменить SQL позже, чтобы убедиться, что он возвращает правильные данные.

Это звучит разумно? Имеются ли в Hibernate их существующие функции для выполнения миграций / массовых вставок? Или я просто буду называть это n раз:

User user = new User();
session.save(user);

1 Ответ

2 голосов
/ 30 ноября 2011

Здесь мало мыслей.

schema/app which uses hibernate to create tables from pojo's.

Не рекомендуется использовать hibernate для создания таблицы. Для этого должны быть созданы отдельные сценарии. В основном hbm2ddl.auto=create настройка в hibernate - это временный способ создания таблиц, но его не следует использовать в стандартном приложении. Даже небезопасно иметь эту запись в настройках конфигурации. Для получения дополнительной информации прочтите здесь .

Schema migration/ data migration

Существует множество доступных баз данных, которые помогут вам перенести схему и данные в спящий режим и не предназначены для этого. Я не знаю об этом, но я видел Администраторы БД делают это с легкостью. Вы можете добиться этого, используя некоторые приемы, но от этого лучше воздержаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...