Nano Hash - криптовалюты, майнинг, программирование

Java Derby DB — столбец (PrimaryKey) с генерируемым всегда как идентификатор, добавляющий 100 к базовому номеру при каждом перезапуске приложения

У меня проблема с моей встроенной базой данных Derby. Застрял на несколько часов. Вы видите, почему?

Когда я открываю свое приложение, затем выполняю функцию, вставляющую новые строки в базу данных, мой первичный ключ начинается с 1, 2, 3 и так далее.

Но если я закрою приложение, а затем открою его и выполню ту же функцию, вставляя новые строки, мой первичный ключ начинается с числа, основанного на следующих 100. При первом открытии его будет 101,102, 103 и так далее. Второй раз, когда я повторно использую свое приложение, это будет 201, 202, 203...

Создание таблицы sql показано ниже. Не имеет значения, удаляю ли я (увеличиваю на 1) или добавляю (начиная с 1) в этом столбце

public static final String CREATE_TBL = "CREATE TABLE MyGamez.Game "
            + "(GameID INT not null primary key GENERATED ALWAYS AS IDENTITY"
            + "(Increment by 1), Title VARCHAR (40), Genre VARCHAR (30), Developer VARCHAR(30))";

Результирующая таблица со строками выглядит следующим образом: каждые +100 — это новое повторное открытие моего приложения.

GAMEID  TITLE   GENRE   DEVELOPER
1   a   a   a
2   aa  aa  aa
3   a   a   a
4   aaa a   a
101 a       
102 a   a   a
103 bb  b   b
201 asdasd  fasfs   fasfasf
301 fsdfd   ff  fff
302 ewew    ewewe   ewew
303 xxx xxx xxx

Я думаю просто создать свой собственный ключ, я просто хочу, чтобы он был максимально чистым. Я пришел из MySQL, никогда не было этой проблемы.

Спасибо!

13.10.2014

  • Используете ли вы какой-либо OR mapper для доступа к своим таблицам? 13.10.2014
  • Я думаю, что Derby по умолчанию использует кеш последовательности для каждого сеанса, как и многие другие БД (из-за проблем с производительностью, поскольку каждый сеанс может работать с одним и тем же генератором последовательности). Вы пробовали это? stackoverflow.com/questions/21227697/ 13.10.2014
  • @UwePlonus - Нет, я даже не знаю этого до сих пор. РЖУ НЕ МОГУ. 13.10.2014
  • @Multisync - Спасибо за ссылку, я попробую это, я часами искал это в сети. Вернусь. 13.10.2014
  • @Multisync - извините за поздний ответ. Оно работает. Спасибо! 14.10.2014
  • Обратите внимание, что столбцы GENERATED... AS IDENTITY раньше использовали счетчик в SYSCOLUMNS, но были изменены для использования SEQUENCE в Derby 10.11 как часть DERBY-6542: issues.apache.org/jira/browse/DERBY-6542 30.01.2015

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..