我已經接管了一些使用CodeFutures的Firestorm DAO代碼生成器的代碼。我相信這個許可證很快就會出現,並且想知道是否有人可以推薦任何替代品,不管是否開源,這樣我就可以瞭解到底有什麼可以做出更好的決定。Firestorm dao更換的建議
回答
一種選擇是完全改變方向並使用像JPA這樣的持久框架。您可以創建Java對象模型,添加適當的註釋,並且JPA可以爲您處理其他任何事情,而不會產生任何雜亂的生成代碼。
授予,根據您的架構和業務情況的具體情況,這種改變可能不適合您。但是,如果您可以管理它,JPA似乎更符合當前Java持久性最佳實踐。
我用OpenJPA的生產環境:http://openjpa.apache.org/
我們考慮的TopLink(Oracle的實現),但遇到了,我不記得的幾個問題。 http://www.oracle.com/technology/products/ias/toplink/index.html
我強烈建議不是關閉風暴。大約90%的使用案例使Firestorm使DAO成爲過去。對於所有其他情況,只需使用繼承的輔助方法子類化firestorm創建的dao,並添加所需的功能即可。你不需要許可證,你可以使用免費許可證。 不,我不是來自Firestorm,但Firestorm幫助我將項目從地面上節省了大約40%的時間。一旦我進入更復雜的查詢,它將開始爲我節省大約20%的開發時間,但是,嘿,與其他解決方案相比,它仍然節省20%。此外,它轉換成原始JDBC。當出現問題時,如果熟悉ODBC/JDBC,調試將變得更加容易。
這對於您在4月份的具體決定可能有點晚,但如果您習慣於Firestorm DAO,對每個數據庫實體使用生成的代碼,則可能會發現切換到jOOQ很容易。 jOOQ完全省略了「DAO層」,生成直接代表關係模型的類。這通常被稱爲Active Record pattern。而不是寫的DAO,你可以使用jOOQ's built-in DSL,類似的直接查詢從Java數據庫微軟的Linq
我同意JavadocMD,即JPA(或休眠)是目前被認爲「最佳實踐」。但也許你不想添加對象關係映射到你的應用程序well-known reasons ...
- 1. libdmtx死了,建議更換?
- 2. 關於集成測試我的dao層的建議
- 3. 建議在Spring3.1.1(hibernate4)中打入DAO中的數據庫?
- 4. Struts2:Action的值 - DAO(數據庫) - VO - View(jsp)。建議?
- 5. Mysqli轉換建議
- 6. EntLib PolicyInjection的替換建議
- 7. Rails文檔轉換建議
- 8. XML轉換框架建議?
- 9. 處理輪換建議
- 10. 更改管理建議?
- 11. 錯誤更正建議?
- 12. 自動更新建議
- 13. DAX代碼更改建議
- 14. CSS變換元素的建議
- 15. 爲什麼DAO有獨立的創建和更新方法?
- 16. 如何用python bing替換單詞拼寫更正建議
- 17. 更快的文件處理建議?
- 18. RedirectToAction幫助:或更好的建議
- 19. 提交onclick更好的建議
- 20. PHP/MySQL的更新語句建議
- 21. 關於學習更多Java的建議
- 22. 關於購物車更新的建議
- 23. 抓住iPhone的自動更正建議
- 24. 更改建議的語言不工作
- 25. 對sql server全文索引的建議更改跟蹤和人口的建議
- 26. 在這種情況下創建通用的DAO還是將它分離到較小的DAO會更好?
- 27. DAO是創建查詢的路線
- 28. 動態轉換羅塔建議
- 29. SVG格式轉換或建議
- 30. C#VB.net語法轉換建議
基本上我們決定隔離現在我們現在的dao代碼,因爲它已經存在並且功能很強大,用hibernate開發。 – Casey 2010-04-29 15:48:59
重寫整個事物的明智選擇。祝你好運! – JavadocMD 2010-05-03 22:44:33