Сделал, в phpmyadmin в разделе Статистика строк в поле Следующий Autoindex стоит значение: 6,510. И все равно при попытке записи используется ext_id=15.
Владимир Смирнов: для вас этого всего лишь дискуссия :) а для меня очень много полезной информации, спасибо, узнал много нового. И кстати, вы были правы в этом "Похоже на то, что проблема специфична для вашего ПО, а не в Hibernate или в MySQL." , проблему нашел и пофиксил, еще раз спасибо.
Небольшой пример: я пишу бота для Телеграм. От клиента(юзера) пришла новая команда X. Прежде чем выполнить эту команду сервер проверяет есть ли юзер в базе, если нет - тогда создается новый юзер в базе. Получается что в этом случае будут два обращения к базе: 1) создать юзера; 2) выполнить команду X;
Вопрос: надо ли в этом случае создавать две сессии/транзакции(на каждое обращение к базе) или достаточно одной сессии/транзакции?
Это простой пример, бывает так, что один запрос от клиента порождает много обращений к базе(в моем приложении бывает до 10-15 обращений).
Владимир Смирнов: Изначально у меня так и было, т.е. на каждое обращение к базе, создавалась новая сессия и транзакция. Но мне почему то показалось(либо где то в сети увидел такой пример), что это плохо и это будет снижать производительность.
Мне не совсем понятно как правильно обрабатывать ошибки, вот на сервер пришла некоторая команда, и сессия открылась. Далее в этой сессии происходит куча изменений, и в какой то момент делается вызов flush() который привел к ошибке, и я делаю rollback() в итоге откатываются все изменения сделанные в этом запросе(сессии). - как правильно это делать? Может есть литература, или статья в сети где подробно расписано как с этим работать?
Таблицы у меня создаются скриптом:
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT,
uid INT NOT NULL,
login TEXT,
locale INT,
name TEXT,
pcount INT DEFAULT 0,
version INT,
PRIMARY KEY (id)
);
CREATE INDEX user_uid ON user (uid);
CREATE INDEX user_pcount ON user (pcount);
Я запускаю приложение из командной строки скриптом "gradle run". Gradle по умолчанию запускает приложение с debug символами? Если да, подскажите пожалуйста как их убрать? :)
"И вообще новичку лучше найти самые свежие примеры и повторять их полностью", второй день пытаюсь найти рабочий пример, везде пишут только "самое главное", и предполагается что остальное нужно додумать самому :) Помогите с рабочим примером пожалуйста.