Я только что вошел в проект, который использует Spring для сохранения всего. Для столбца идентификатора используется @GeneratedValue. Я импортировал данные из другой базы данных с помощью SQL, и теперь автоматически увеличенное сгенерированное значение не синхронизировано.
Серверная часть, использующая Spring, работает на сервере Java Web Tomcat 7, который работает на облачной платформе HANA.
Кто-нибудь знает, где он сохраняет это сгенерированное значение и как его увеличить, чтобы он использовал идентификаторы выше тех, которые я вставил через SQL?
Большое спасибо и с уважением, tietze111
РЕДАКТИРОВАТЬ: мы используем базу данных HANA, и вот некоторый код, надеюсь, это то, что вы ищете:
public abstract class AbstractModel<ID extends Serializable> implements Serializable {
private static final long serialVersionUID = -3275552243704225648L;
@Id
@GeneratedValue
@JsonView(View.Summary.class)
protected ID id;
[...]
РЕДАКТИРОВАТЬ 2 (дополнительная информация, не знаю, полезно ли это?): Мы используем спящий режим, но проблема в том, что последовательность не отображается в системе. Существует таблица с именем SEQUENCE, но она имеет фиксированный атрибут SEQ_COUNT. Его значение всегда равно 50. Атрибут SEQ_NAME имеет значение "SEQ_GEN". В таблице всего 1 запись. Вот как выглядит определение этого. На картинке также видно, что последовательности нет.
РЕШЕНИЕ. Нашел эту цепочку в stackoverflow и изменил стратегию генерации на GenerationType. .СТОЛ . Теперь я смог легко изменить идентификатор в таблице.