我正在研究爲我的Android應用程序使用greenDAO,但我注意到它似乎不支持除「不爲空」,「唯一」和外鍵以外的任何類型的數據驗證在SQL級別(創建表時定義的約束)或Java級別(setter方法中的驗證邏輯)。 「保留部分」在這種情況下似乎不會有幫助,因爲您無法在各種方法中使用它們。如果我想驗證輸入數據,我是否錯過了某些東西,還是真的需要在生成的Java對象之上添加另一個圖層? (我有點糊塗了框架如何能是有用的,而不提供任何地方,包括驗證邏輯。)greenDAO和數據驗證
回答
你可以寫一個方法
boolean check();
在KEEP斷面
您在INSERT或UPDATE之前手動調用的實體的名稱。
2.
另一種可能性是延長greendao發生器的源代碼,以支持檢查:在property.java,你可以添加一個方法來Property.Builder
public Property.Builder check (String expr) {
property.checkConditon = expr;
}
當然,你會必須引入String checkCondition = "";
並將其用於在dao模板中生成dao。
問題: 隨着greendao更改的新版本會丟失(但隨後又新版本可能已經包含這樣的功能)
第三種可能性是,將生成的CREATE TABLE語句,修改它以適應您的需求,並調用您的修改語句而不是原來的語句,或者刪除原始表並調用您的語句。
問題: 如果您的表格更改,您將不得不重複此操作。
我不知道這是如何幫助任何東西,除非它從某個地方自動調用? – ecraig12345
恐怕,您現在必須自己打電話給他。 – AlexS
接下來沒用 - 然後不得不周期性地手動調用某種驗證方法,而不是驗證setters(或數據庫更新)中的數據不是設計事物的好方法。 – ecraig12345
- 1. 結合日期數據驗證和自定義數據驗證
- 2. NSTableView和數據驗證?
- 3. greendao刪除數據庫和會話
- 4. SSIS數據驗證和數據加載
- 5. 數據驗證
- 6. 驗證數據
- 7. 數據驗證
- 8. 笨驗證POST和數組數據
- 9. Greendao和NoClassDefFoundError的
- 10. 數據首先驗證的驗證
- 11. jQuery驗證 - 驗證實際數據
- 12. 數據驗證和驗證有什麼區別?
- 13. greendao何時greenDao從會話緩存更新數據庫
- 14. 驗證數據Ext.Model
- 15. MySQL |數據驗證
- 16. Android數據驗證
- 17. 驗證JSON數據
- 18. django - 驗證數據
- 19. MVC驗證數據
- 20. 數據驗證宏
- 21. 數據驗證1111
- 22. 類數據驗證
- 23. 驗證數據庫
- 24. Excel數據驗證
- 25. JTextField數據驗證
- 26. 數據庫驗證
- 27. PHP類繼承和數據驗證
- 28. Uploadify和ASP.NET數據註釋/驗證
- 29. 驗證和redis數據回調
- 30. Webservice動態數據傳輸和驗證
你的意思是什麼樣的驗證。請舉個例子。 – AlexS
@AlexS一些示例將是必須限制在特定範圍內的值,或者必須始終小於另一個字段的一個字段。基本上,你可以用SQL約束來做任何事情。 – ecraig12345
Greendao是爲了堅持和訪問您的數據在一個簡單的方式,是你的DAO層。驗證是業務邏輯的一部分,通常應在輸入或業務邏輯中以及數據持續前進行。 – AlexS