Как правильно работать с триггером таблицы базы Oracle при использовании Spring Data

178
13 августа 2021, 04:20

Для автоматической генерации id записи в базу oracle, используется встроенный триггер, ранее использовалась последовательность.

/**Системный идентификатор записи*/
    @Id
    @GeneratedValue
    @Column(name = "ID_ISX", nullable = false, updatable = false)
    private Long idIsx;

Как можно получить запись которую только что сохранил? Например, я переопределяю CrudRepository и в нем метод save(), затем я сохраняю новую сущность и сразу же вызываю получение послдней записи... Но если в после моей записи в этот момент таблица освобождается для записи из другого источника в эту таблицу, а мой запрос на получение созданной мной записи окажется вторым, то тогда я получу id чужой записи.

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

Answer 1

Ничего не блокируется. Но идентификатор вы получите именно своей записи. Механизмы получения отличаются у разных СУБД

READ ALSO
Скрыть элемент css при клике на гамбургер

Скрыть элемент css при клике на гамбургер

как скрыть #fp-nav, когда гамбургер активен, и показать снова, когда гамбургер закрыт циклично? Я набросал немного и сделал функцию, она выполняет...

199
Google Maps маркеры с одинаковыми координатами

Google Maps маркеры с одинаковыми координатами

Не могу решить проблему с маркерами на картеС сервера приходят объекты с одинаковыми координатами

137
Не работает сравнение

Не работает сравнение

Делаю калькуляторИ при нажатии на кнопку '=' должно идти просчитывание операции

344
Javascript мешает анимации 2-й линии SVG

Javascript мешает анимации 2-й линии SVG

Я хочу, чтобы слово MEDIA осталось поверх фонового изображения после его анимацииКто-нибудь может мне помочь с этим? Могу ли я использовать...

412