他們似乎複雜和不必要。我在工作或家中建立的應用程序從未使用過任何ORM,並且其中許多應用程序甚至沒有面向對象。當它們可以有用時,它的大小是否可以依賴?如何確定在應用程序有用時應該有多大?對象關係映射器是聖盃嗎?
0
A
回答
1
沒有銀子彈。我相信你一定聽過很多次了。但其確實如此。由於Object-Relational Impedance mismatch,ORM很有用。
ORM允許您使用您的編程語言來思考或編程數據庫。
+0
是的,這是最好的部分。一切都只是普通的對象。沒有更多的SQL字符串.. – poo 2010-02-24 08:37:07
1
您不需要O/RM,但您也不需要像C#或C++這樣的高級編程語言,只需使用程序集編寫應用程序即可。那些曾經是美好的日子;-)
1
奧姆斯也有超跑直線上升的SQL查詢獨特的優勢:
- 保存/更新/刪除整個對象圖
- 版本的實體以檢查是否存在失效狀態
- 更好的代碼維護和編譯時檢查(SQL查詢字符串魔法)
- 可以生成從對象模型的數據庫模式
但是,他們確實有一些缺點:
- 需要的時間相當大的量來設置
- 映射必須保持最新
- 即使它映射表的對象,你還需要知道SQL(做批量操作的時候,但只有明顯),比直線上升的SQL慢
總體來說,學習和使用ORM的優點遠大於缺點,在我看來。
0
像Padmarag says一樣,ORM不是銀子彈。
如果你有一個非常複雜的(面向對象)領域模型,你可能會更好使用Object database。
0
ORM-Mapper是時下與RDBMS溝通的方式。但是你並不需要在每個應用程序中使用RDBMS。有幾種NoSQL解決方案可能更適合使用。
但有些用例我不喜歡ORM:報告批處理:這是一個關於性能的問題,也是查詢複雜性的問題。在這種情況下,可能會使用更合適的存儲過程。
相關問題
- 1. 對象/關係映射
- 2. 對象關係映射
- 3. 關係對象映射c#
- 4. 功能比關係映射更容易比關係對象嗎?
- 5. PHP對象關係映射框架
- 6. 對象關係映射的缺點
- 7. 動態對象關係映射
- 8. 關係對象數據庫映射
- 9. 對象關係映射設計模式
- 10. Grails中的對象關係映射
- 11. 手動映射JSON對象時RestKit關係不映射
- 12. CSS聖盃佈局
- 13. 映射一對多關係
- 14. 與Ruby對象映射器的聯繫
- 15. 這是一個在Java中定製對象關係映射的好方法嗎?
- 16. 與複合C#對象映射器的通用關係
- 17. 什麼是對象關係映射框架?
- 18. 是否有節點對象關係映射包?
- 19. Hibernate的對象關係映射 - 「Sessionbound」的含義是什麼?
- 20. 這是否正確(更好)的對象關係映射?
- 21. SQL Server尋呼和聖盃
- 22. 引導4聖盃佈局
- 23. 聖盃域類屬性
- 24. GORM關係映射
- 25. Restkit映射關係
- 26. 關係映射Restkit
- 27. sqlalchemy關係映射
- 28. 流利的NHibernate的對象化/相關關係映射
- 29. 關於對象關係映射方法的理論問題
- 30. 關於映射對象/關係的問題
對此的任何答案都是主觀的,所以這真的應該被標記爲社區wiki問題。 – 2010-02-24 08:12:16
已經有關於此主題的問題。請搜索。 – Padmarag 2010-02-24 08:16:55
軟件開發目標是?不要認爲,這是非常主觀的。 – poo 2010-02-24 08:34:54