Я знаю, что переворачивать модель данных вверх ногами через годы и годы - это не прогулка в парке.Тем более, что вам придется заглядывать в каждый уголок каждого приложенного приложения и т. Д., Чтобы выяснить, не затронуты ли они.Это является внешним ключом, и есть вероятность, что его изменение повлияет на многие вещи, или, по крайней мере, в значительной степени.
Тем не менее, возможно, стоит поговорить с администратором базы данных об использовании какой-либо конструкции для * 1003.*
- сохранить текущую модель данных
- позволит вам получить доступ к этим данным другим способом
Базы данных Oracle (последние версии) имеют некоторые параметры, такие как обновляемые представления и псевдо-колонки и еще много чего.Я сам не администратор баз данных, но я вижу некоторый потенциал в использовании псевдостолбца, например, который будет копировать столбец внешнего ключа (по отношению к таблице / сущности A), за исключением того, что он будет
- показывать каждое значение -1 как ноль
- гарантирует, что вставки нулевого значения преобразуются в -1 в столбце, к которому он относится (возможно, с помощью триггера)
Если вы измените настройку Hibernate / JPA, чтобы использовать этот столбец вместо исходного ..
Я просто надеюсь, что у вас есть администратор баз данных с некоторым опытом и - что еще более важно - без опасения экспериментировать (конечно,в тестовой среде).
Удачи!Wim