我從jBPM 5.4轉換到jBPM 6並相應地更新現有值的數據庫。休眠的SequenceStyleGenerator生成序列低於獲得的序列值
大部分情況已經很好,除了在WorkItemInfo
表中我得到不正確的序列。正在生成的ID在已經採用的範圍內,導致唯一的約束違規。
開啓調試日誌記錄後,我看到以下內容:
09:34:53,901 DEBUG [org.hibernate.id.enhanced.SequenceStructure] (EJB default - 1) Sequence value obtained: 81993
09:34:53,910 DEBUG [org.hibernate.event.internal.AbstractSaveEventListener] (EJB default - 1) Generated identifier: 81943, using strategy: org.hibernate.id.enhanced.SequenceStyleGenerator
我的問題是,爲什麼會產生比目前的序列(81943 VS 81993)低的值?這個生成的值落在已經使用的ID範圍內,因此導致我唯一的約束違規。