У меня есть класс пользователя hibernate, класс Clerk и класс Consumer. Все эти карты соответствуют их собственным таблицам в базе данных. Пользователь ПК также действует как ПК Клерка и Потребителя.Таблица Hibernate -using для каждого подкласса - как связать существующий объект суперкласса с объектом подкласса
Итак, теперь проблема заключается в том, что если пользователь изначально является Клерком, у него есть запись в таблице «Пользователи» и «Клерки». Если этот пользователь хочет стать потребителем, я хочу связать запись этого пользователя с записью нового потребителя. Поэтому, даже если я передаю userId записи пользователя, он рассматривает его как нового пользователя для сохранения и дает исключение duplicate_key. Как сообщить Hibernate связать один и тот же пользовательский объект с этим новым объектом Consumer?
Есть ли причина, почему люди настаивают на совместном использовании первичных ключей? Что случилось с уникальным Первичным ключом для каждой таблицы и с столбцом внешнего ключа, ссылающимся на родительскую таблицу? –
@McWafflestix: Я использовал второй подход в прошлом и глубоко сожалел об этом. Это делает беспорядок из индексации и производительности в целом и невероятно подвержен ошибкам. Вы почувствуете то же самое при первом выполнении необратимой операции и через несколько секунд поймете, что вместо «производного» ключа вы использовали «базовый» ключ. – Aaronaught