Предположим, у меня есть класс Person
, который сохраняется / загружается через Hibernate:
class
{
int PersonId;
String Name;
}
PersonId
- это «автоматический номер», который генерируется hibernate при сохранении Person
.
Теперь предположим, что я сделал кучу Person
в тестовой базе данных, которую теперь хочу скопировать в производственную базу данных.
Но в производственной базе данных уже есть PersonId
1, называемый "Джон" ».
А в тестовой базе данных PersonId
1 - это «Уильям».
Как мне импортировать «Уильям» как PersonId
= 2 в производственную базу данных?
Обратите внимание, что будут другие таблицы, в которых PersonId
используется в тестовой базе данных, например, таблица адресов и т. Д. Так что все это также необходимо экспортировать / импортировать, сохраняя при этом целостность PersonId
..
EDIT:
Я полагаю, что одной из возможностей является то, что тестовая база данных должна быть настроена на использование автономного номера, начиная, скажем, с 90000, тогда как мы знаем, что производственная база данных имеет значения PersonId менее 10000. Таким образом, мы можем «разделить» это таким образом. Но что, если пользователь забыл установить это и теперь застрял с автономными номерами, начинающимися с 1? Пользователь не должен повторять все усилия, просто чтобы изменить идентификаторы, которые в идеале должны делать мои программы.