我正在處理多個數據庫,如MSSQL服務器和PostgreSQL的繁重的交易和複雜的查詢。我搜索了簡單的jdbc比ORM更快。我正在考慮使用ORM,因爲我不想針對同一工作爲不同的數據庫編寫不同的查詢,並且爲了標準化我的dao層。我正在映射我的數據庫表而不使用外鍵,而對於像apache卡宴這樣的ORM,我必須使用外鍵約束映射表,所以我可以使用我的連接或任何其他多表操作。它是好的使用和ORM或簡單的jdbc是好的。哪個更好ORM(Apache Cayenne),JDBC還是SpringJDBC?
0
A
回答
0
從你的問題描述中,你已經理解了所涉及的折衷。所以這是一個真正的決定,你需要根據這些權衡來爲自己做出決定。
我在這裏唯一的建議是再次看看性能要求。雖然ORM的確引入了創建,存儲和管理對象的開銷,但除了少數情況外,爲了更好的抽象,您可以放心地忽略這種開銷。另外,當經常使用JDBC時,最終會編寫自己的代碼將ResultSet轉換爲對象,這會遇到自己的開銷。所以你最終可能不會得到更快的代碼,同時喪失乾淨對象模型和管理它的框架的所有好處。
所以我自己的偏好是更好的抽象(在這種情況下是ORM),然後使用框架工具來優化性能。例如。以加快處理大型結果集Cayenne provides a few techniques:結果迭代器,DataRow查詢,分頁查詢等。
另一方面,如果無法將數據完全建模爲實體,則會使用JDBC或類似MyBatis的東西。例如。當沒有自然關係時,所有訪問都是通過存儲過程發生的,等等。雖然看起來不像你的情況。
相關問題
- 1. 哪個更好:JDBC連接池,還是使用用於JDBC連接的SIngleton類?
- 2. 哪個更好? Java開發還是Webworks?
- 3. 哪個更好? XML,INI還是其他?
- 4. 哪個更好?碳還是可可? (Mac)
- 5. PHP - 退出還是哪個更好?
- 6. 克隆還是應用:哪個更好?
- 7. MySQL - 哪個更好:SELECT還是SELECT COUNT?
- 8. Jdbc桌面設計哪個更好
- 9. Apache Cayenne在同一表格中的1-M關係
- 10. MySQL:哪個更好,選擇Update,還是更新?
- 11. Neo4j,哪個更好:多重關係還是一個屬性?
- 12. Apache Cayenne的velocity.log文件是什麼?
- 13. 「是」vs「有」:哪個更好?
- 14. Apache Cayenne多對多關係
- 15. 哪個代碼更好:使用「as」還是「is」?
- 16. 哪個更好,創建物化視圖還是新表?
- 17. 哪個Rails認證系統更好:AuthLogic,Clearance還是Devise?
- 18. 哪個更好,刷新後還是live()(jQuery)?
- 19. 哪個Android IDE更好 - Android Studio還是Eclipse?
- 20. 哪個更好 - 主循環還是單獨的線程?
- 21. PHP + Wordpress功能組織:哪個更好,function()還是Include()?
- 22. 哪個循環在性能上更好 - foreach還是?
- 23. 哪個更好,Enumerable.Epty爲<T>還是new [0]?
- 24. 哪個地圖縮小性能更好?Hbase還是Cassandra?
- 25. 對於哪個更好的CMS?MVC還是MVP?
- 26. 哪個更好? Android工作室還是Eclipse?
- 27. 哪一個性能更好?交叉連接還是新表?
- 28. 哪個更好:顯式還是無類型get()?
- 29. 哪個更好..左外連接還是右外連接?
- 30. 哪一個更好的做法:全局常量還是#define?