Я загружаю список тендеров из текстовых файлов (один нежный один файл), и я хотел бы сохранить его в базе данных. У меня есть адрес address_point, улица, город и страна, где address_point ссылается на многие таблицы (организация, тендеры, ...).Hibernate - идентификатор записи автозаполнения по дубликатному ключу
Когда скрипт загружает данные и попытаться сохранить тот же адрес в одной транзакции, с ошибкой - ключ продублировать.
Например, сценарии добавят новый тендер, а тендер будет принадлежать новой компании. Новый тендер и новая компания имеют одинаковый адрес, и эти два объекта вставляются в одну транзакцию, и оба они содержат тот же адрес, город которого уже сохранен в базе данных, поэтому сначала мне нужно найти город этой организации и заменить его на найденный объект или установить первичный и сделать тот же конкурс.
Следующий пример скрипта добавит новый тендер и новую организацию с городом, который не хранится в базе данных, так как я должен проверить, находится ли город в базе данных или нет. Следующим шагом является то, что я должен сравнить эти два города и сделать из них один объект, если города равны, чтобы избежать дублирования ключа.
Но у меня есть более 3 refenreces, чтобы обратиться к пунктам в одной транзакции от тендера, организации, тура и т. Д. Эти два примера предназначены только для городов, а не для стран, регионов, ... Поэтому создание условий беспорядочно.
Каковы наиболее эффективные способы решения этой проблемы? Я определил isEqueal и hashCode, но я прочитал, что эти методы предназначены только для множеств.