我有一個類的自定義ID生成器。當我創建這個類的新實例並使用.save()將其保存到數據庫時,以及實際生成的ID是哪個點?這個世代是否延遲到交易完成之前,還是在我調用.save()時生成?休眠和ID生成器:在哪一點生成的ID?
回答
該id是在保存時生成的。
,如果你是在一個事務中,你有兩個選擇提交或回滾
好吧,所以在交易中,如果我通過保存運行實例,那麼該實例將收到一個ID,對吧?此外(不同但略有相關),我瞭解版本控制將在flush/commit中應用。你會碰巧知道這是對的嗎? – sbrattla 2012-07-12 13:43:05
請考慮以下事項:客戶端A和B加載相同的記錄R.過了一段時間A後,數據發生更改後提交R,過了一會兒B也提交了......更改了R的數據 - 但未提交A後的R狀態。 自動版本控制功能可以執行以下操作:使用字段來對行數據進行版本控制。在上述場景中,A和B獲得版本t的記錄R.在提交A之後版本被更改,所以當B嘗試提交對版本失敗的檢查時。 – 2012-07-12 13:49:01
感謝您的輸入! – sbrattla 2012-07-12 13:50:41
- 1. 休眠組合鍵ID生成器
- 2. MySQL AUTO_INCREMENT和休眠自動ID生成
- 3. 優化休眠序列ID生成
- 4. resthub休眠mysql id生成錯誤
- 5. 休眠:使用增量和Oracle架構的ID生成器
- 6. 休眠觸發器生成的ID(MySQL)問題
- 7. 休眠「身份」生成器
- 8. 休眠豆生成器
- 9. 休眠 - 另一個自動生成的字段不是ID
- 10. 休眠:自定義ID生成器需要堅持實體
- 11. 休眠生成POJOs
- 12. 休眠ID列始終持續在生成的SQL
- 13. DHT節點ID生成?
- 14. 休眠如何防止與生成的ID重複條目
- 15. JPA-休眠 - 從Select語句生成的ID值
- 16. friendly_id生成ID
- 17. 我無法生成自動遞增的ID,並且休眠始終生成1,因爲ID
- 18. jQuery的生成ID和
- 19. 生成一個唯一的機器ID
- 20. C生成唯一的ID
- 21. 如何生成具有自動休眠ID與初值
- 22. 與生成的ID
- 23. 休眠域對象生成
- 24. 休眠生成POJO等於
- 25. 從休眠生成SWING/Gui
- 26. 實現id生成器angularjs
- 27. EDI ISA和GS ID生成
- 28. 自動生成休眠類中的類有哪些缺點
- 29. 唯一事件ID生成
- 30. 生成C#長唯一ID
參見http://stackoverflow.com/questions/9087848/when-does-the-jpa-set-a-generatedvalue-id – Raedwald 2012-08-25 11:12:23