Я только что ввел проект, который использует Spring для сохранения всего. Для столбца id используется @GeneratedValue. Я импортировал данные из другой базы данных, используя SQL, и теперь автоматическое увеличение генерируемого значения не синхронизировано.jpa где hasvalvalue сохраняется/как его увеличить
Backend, который использует Spring, работает на сервере Java Web Tomcat 7, который работает на облачной платформе HANA.
Кто-нибудь знает, где он сохраняет это сгенерированное значение и как я его увеличиваю, поэтому он использует идентификаторы, которые выше тех, которые я вставил через SQL?
Большое спасибо и наилучшие пожелания, tietze111
EDIT: Мы используем базу данных 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;
[...]
EDIT 2 (дополнительная информация, не знаю, если это полезно?): Мы используем спящий режим, но проблема в том, что последовательность не отображается в системе. Существует таблица, называемая SEQUENCE, но имеет только фиксированный атрибут SEQ_COUNT. Значение всегда 50. Атрибут SEQ_NAME имеет значение «SEQ_GEN». Таблица имеет только 1 запись. Вот как выглядит определение this. На рисунке также показано, что последовательности нет.
РЕШЕНИЕ: Найдено this thread в stackoverflow и изменил стратегию генерации на GenerationType.TABLE. Теперь мне удалось легко изменить идентификатор в таблице.
Какая система баз данных вы используете? –
Это зависит от типа генератора. Поместите некоторый код. – dunni
Добавил некоторые вещи в сообщение, надеюсь, это было то, о чем вы просили. Спасибо за быстрый ответ! – tietze111