我有一個項目,用戶發佈JSON到我的API,然後反序列化到一個實體,並堅持到數據庫。 由於運行了一個負載測試工具,它發送了很多請求(使用相同的API密鑰,但作爲不同的'用戶'),我發現我的一些實體正在數據庫中複製。如何防止快速連續在數據庫中創建重複條目? (JPA)
儘管我的代碼檢查數據庫中是否已存在該對象,但其中一些請求正在同時觸發並且繞過檢查。
使用實體管理器,我認爲每個請求都在自己的事務中,但我不知道如何「鎖定」這些事務。除了將創建代碼放入通用java同步塊之外,是否有任何方法可以防止這種重複?
謝謝。
你是如何插入記錄到數據庫中?,em.persist?的@Id設置?,這是你的數據庫? – Koitoer