Невозможно получить автоматически сгенерированное значение идентификатора после сохранения сущности с помощью JpaRepository - PullRequest
0 голосов
/ 19 февраля 2019

В моем классе Entity (называемом RpaAudit) я определил первичный ключ (который генерируется автоматически с использованием последовательности под названием SEQ_AUDIT_ID).

@Entity
@Table(name = "RPA_AUDIT")
public class RpaAudit {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_AUDIT_ID")
@SequenceGenerator(sequenceName = "SEQ_AUDIT_ID", name = "SEQ_AUDIT_ID")
@Column(name="AUDIT_ID", unique = true, nullable = false)
private Integer auditId;

Я использую JpaRepository saveAndFlush()метод, когда я сохраняю сущность в моем @Service классе.

Вот как это выглядит:

    @Transactional
    private RpaAudit dbOperations(Message msg) {

    RpaAudit entity = new RpaAudit();
    entity.setCreatedBy(msg.getOwner());
    entity.setInstanceId(msg.getInstanceId());
    entity.setWorkCaseId(msg.getWorkCaseId());
    entity.setTaskId(getRandomTaskId());
    entity.setTaskName(msg.getTaskName());
    entity.setStatus("A");

    RpaAudit savedEntity = rpaAuditRepo.saveAndFlush(entity);

    return savedEntity;
}

Теперь, когда я делаю savedEntity.getAuditId(), я получаю совершенно случайное значение.

В Db значение столбца AUDIT_ID равно 148 (что следует за последовательностью), но когда я делаю savedEntity.getAuditId(), я получаю значение, подобное 7200 (которое я понятия не имею, как оно происходит, и нетследуйте последовательности, которую я создал в базе данных Oracle).

Не уверен, откуда это значение.

Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...