Я использую спящий режим аннотации для создания моей таблицы базы данных:Как аннотация hibernate генерирует первичный ключ?
public class Item {
@Id @GeneratedValue
@Column(name="itemid", unique = true, nullable = false)
private long id;
}
Но я не понимаю, как это генерируется идентификатор. Я предполагаю, что он будет генерировать id, который отличается от того, что уже в таблице. Но дело в том, что он не генерирует id непрерывно. Следующее изображение из моей базы данных:
И иногда, когда я восстановить мой проект, и вставить новый элемент в базу данных, он сгенерировал ItemID, который так же с ранее (например, 12, который уже находится в таблице), и из-за этого вставка завершится неудачно, потому что она не допускает дубликат ключа.
Кто-нибудь знает, почему это происходит?
Зависит от базы данных. Что вы используете? –
Я использую mysqlworkbench – user5516371