Я использую Spring Data JPA. Когда я проверяю сущность, возвращенную методом save (Entity), она отличается от фактического идентификатора, сохраненного в базе данных. Я использую Oracle, и моя конфигурация Entity ID использует последовательность из базы данных Oracle.
@Id
@Column(name = "ID", nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "SEQ_NAME")
@SequenceGenerator(name = "SEQ_NAME", sequenceName = "SEQ_1", allocationSize = 1)
private BigDecimal id;
Пример сценария:
- Вставить запись1 с помощью сохранения (запись1);
- Проверенная запись1 имеет ID = 1001
- Проверено БД и ИД 1002.
Все остальные данные в порядке, кроме ID.
EDIT:
Я удаляю всю другую логику в коде и оставляю только часть сохранения, чтобы изолировать проблему.