При попытке сохранить новую строку в таблице я получаю дублируемую ошибку id и не удается сохранить данные. Он находится в нашей сценической среде, поэтому в настоящее время у меня нет доступа к журналам, хотя я пытаюсь получить его временно, чтобы понять это. У меня есть только сообщение о ошибке до сих пор:Повторяющиеся идентификаторы при использовании TableGenerator
Duplicate entry '2219193' for key 'PRIMARY'
Мы используем таблицу последовательности и я использую TableGenerator аннотированный как так:
@Entity
@TableGenerator(name="AUDITTRAIL_GEN", table="sequence", pkColumnName = "sequence_name",
valueColumnName = "sequence_value", pkColumnValue="seq_audittrailid", allocationSize=50)
public class FtpAuditTrail {
...
}
у меня нет каких-либо специальных настроек, включающиеся в спящий режим. Буквально единственными свойствами, которые я устанавливаю, является URL-адрес имени пользователя, пароля, драйвера и репозитория.
Существует еще один сервер (с другим приложением, чем у меня), который периодически обновляет одну и ту же базу данных и добавляет строки в таблицу.
Я использую Java 1.6.0_65, MySQL 5.5.11 и последнюю версию спящего режима на момент написания этой статьи, 4.2.2.Final.
Отредактировано: Я подтвердил с владельцем другого приложения, что они обновляют таблицу последовательностей до нового значения, а затем используют новое значение как идентификатор своей новой строки в общей таблице. Не позволяет ли TableGenerator использовать значение в таблице для использования?
Вы проверили, существует ли в базе данных запись «2219193»? – JCalcines
Используете ли вы несколько постоянных единиц? TableGenerator должен работать только в том случае, если есть только один – Guillaume
@JCalcines - да, это так. двойная ошибка входа является законной. – barclay