我打算通過,他們說hibernate不適合以數據爲中心的應用程序。我對它給程序的'面向對象的結構'印象非常深刻,但我的應用程序是以數據爲中心的(它提取和更新大量記錄,但是我不使用任何存儲過程)。不能使用Hibernate嗎?是否有任何包裝器在hibernate上編寫,可以用於我的應用程序?任何幫助表示感謝。我可以將hibernate用於數據中心應用程序嗎?
1
A
回答
2
我不確定短語data centric
的具體含義。不是所有的數據庫應用程序data centric
?但是,如果您處理大量數據,Hibernate可能不是最佳選擇。 Hibernate最好是表示映射到數據庫的對象模型,它可能在任何應用程序中都有作用,但是要執行ETL(提取/轉換/加載)任務,您可能需要手動編寫非常高效的SQL。
1
原則上你可以,但它往往很慢。 Hibernate或多或少地爲從數據庫中檢索的每一行創建一個對象。如果您使用大量數據完成此操作,性能會受到嚴重影響。同時更新多行使用一個更新只有非常基本的支持。
包裝不會幫助,至少與對象創建問題。
1
使用Hibernate有很多好處,當他們的對象模型像開發人員一樣正確時,通過對象與數據庫進行交互時有很大的吸引力,但實際上我發現最初Hibernate很好,但是當你會遇到性能和故障查找等問題。
談到DA(數據訪問)層的決定時,我問自己這個問題。 我正在編寫一個需要運行不同數據庫的應用程序嗎?
如果答案是肯定的,那麼我會考慮一個類似Hibernate的(ORM)。 如果沒有,那麼我通常會通過Spring正常使用JDBC。
我覺得通過JDBC與數據庫交互更加透明,更容易找到故障和性能調整。
+0
感謝您的回覆。 – hnm 2011-06-15 10:40:07
相關問題
- 1. 我可以將Firebase用於僅有數據庫操作的應用程序嗎?
- 2. 可以將Android 1.5用於我的商業應用程序嗎?
- 3. 我可以將@EntityGraph應用於@Query嗎?
- 4. 可以將替代圖標應用於iOS應用程序嗎?
- 5. 我可以將憑據傳遞給Flex Viewer應用程序嗎?
- 6. 我可以以任何順序將中間件應用到應用程序嗎?
- 7. 我可以將GCM用於基於Android 2.2 FroYo的新應用程序嗎?
- 8. 我可以將持久性數據存儲在Rhomobile應用程序中嗎?
- 9. 我可以訪問iOS郵件應用程序數據嗎?
- 10. 核心數據順序:我可以使用浮動嗎?
- 11. 您可以將Apple的mapkit用於混合應用程序嗎?
- 12. 可以將paypal集成用於購物車應用程序嗎?
- 13. 在Android應用程序中可以使用Neo4j數據庫嗎?
- 14. 將核心數據用於應用程序設置
- 15. 我可以將prototype.js合併到FBML Facebook應用程序中嗎?
- 16. 我可以從我的iOS應用程序啓用/禁用移動數據嗎?
- 17. 將核心數據添加到我的iPhone應用程序中
- 18. .NET 4.0程序集可以用於.Net 3.5應用程序嗎?
- 19. 我可以將單頁應用程序稱爲Web 3.0應用程序嗎?
- 20. 我們可以將WinForms應用程序與WPF應用程序集成嗎?
- 21. 我需要在我的應用程序中使用核心數據嗎?
- 22. 我可以在我的應用程序中列出iPhone應用程序嗎?
- 23. 我可以從我的應用程序中啓動android應用程序嗎?
- 24. 我可以將Skype與我的Android應用程序連接嗎?
- 25. 我可以根據我的iPhone應用程序訂閱嗎?
- 26. 我可以在我的iPhone應用程序中使用ASIHTTPRequest嗎?
- 27. 我可以在我的應用程序中使用minimob advertise嗎?
- 28. 我可以在我的應用程序中使用notepad ++ exe嗎?
- 29. Linux核心數據可以使用嗎?
- 30. 我可以在App Engine應用程序中使用MySQL數據庫嗎
感謝您的回覆。正如你所猜測的那樣,數據爲中心,我的意思是處理大量數據。但是在這種情況下是否有任何包裝可用於使用休眠? – hnm 2011-06-12 05:41:29
@hnm你不需要包裝。你可以直接使用Hibernate。但它不是非常有效。您可以始終爲較不密集的情況設置Hibernate基礎結構,並且可以將Hibernate的本機SQL用於繁重的數據處理。順便說一句,我是Hibernate的一大樂趣,但我對它的侷限性感到很現實。 – 2011-06-12 05:44:59
感謝您寶貴的建議。 – hnm 2011-06-12 05:46:43