如何防止某人創建實體並將其設置爲ID?我想推遲到數據庫自動增量,併發生如果它發生409錯誤。我正在使用數據庫自動增量中的主鍵@GeneratedValue(strategy = GenerationType.IDENTITY)和@GeneratedValue(strategy = GenerationType.AUTO),但id的設置永遠不會標記爲問題,並將覆蓋我的自動增量方案mysql數據庫。防止用戶設置JPA/Hibernate實體的ID
回答
嗨,也許你只能對ID的吸氣劑,但我不知道休眠/ JPA
一兩件事你可以做的是:讓你的id property and its setter method private
,這不會讓用戶訪問您的對象setId
方法,
但是,由於Hibernate使用set方法初始化您正在從數據庫中讀取的實體,因此可以使用反射來訪問此方法。所以你不必擔心改變任何其他的東西。
Thanks Vimal。我試圖爲單元測試重新創建一個409錯誤。是否曾經有過將id設置爲一個值並創建實體會觸發該值的情況?我已經讀過,這可能會觸發409錯誤,但我似乎無法讓它發生? –
我希望有一個可以做到這一點的@GeneratedValue的配置,但AUTO和IDENTITY似乎允許在實體上設置id。當我使用專用setter或者完全移除setter來限制對id的設置時,我得到了400。 –
對不起,我不認爲這是一個很好的問題。我道歉。 –
- 1. 防止用戶ID
- 2. 設置打印區域時防止用戶窗體被激活
- 3. 設置用戶ID
- 4. 防止用戶使用Excel的實例
- 5. 防止刪除實體
- 6. 如何防止實體
- 7. 防止用戶將數據庫設置爲單用戶模式
- 8. 實體框架ID未設置
- 9. 防止用戶更改爲字體
- 10. 防止用戶
- 11. 防止用戶
- 12. 防止用戶
- 13. 設置一個用戶控件的父防止它從透明
- 14. 隱私設置,防止你拉扯用戶的Facebook喜歡
- 15. 隱藏最終用戶的實體ID
- 16. 防止用戶退出應用或更改設置
- 17. 我可以防止客戶端使用Meteor設置Mongodb $嗎?
- 18. 如何設置GitBlit存儲庫來防止用戶推送?
- 19. 如何防止DOMXPath擴展HTML實體?
- 20. 如何防止刪除「默認」實體?
- 21. .NET實體框架4.0 - 防止覆蓋
- 22. 引入nokogiri防止在轉換實體
- 23. 防止jQuery逃離html實體
- 24. 如何設置設備以防止未激活的用戶登錄
- 25. 設置實體OneToOne
- 26. FOS用戶包註冊「實體的類型\實體\用戶缺少一個分配的ID字段'ID'
- 27. 用FOSUserBundle在另一個實體中設置登錄的用戶
- 28. 防止DateTimePicker2去DateTimePicker1設置的日期
- 29. 我可以使用ID設置實體關係嗎?
- 30. 當前登錄用戶的設置ID
是的,這可能會工作,但我希望配置Hibernate –
對@ Id's(Hibernate,JPA,field access)使用'@GeneratedValue'時適用 – garfield