性能、規模、風險 初評hibernate
發表時間:2024-01-23 來源:明輝站整理相關軟件相關文章人氣:
[摘要]業務邏輯層下的ORM層用什么,有人推薦Hibernate,也有人對此持否定態度,所以決定先了解一下,以下是我看了幾天文檔后的一些體會,可能有點悲觀。1,Hibernate究竟能用到多大的項目?什么是多大,這很難說,我想應該是數據庫表比較多,業務邏輯比較復雜(表關聯復雜),而且要求性能比較高吧。其他...
業務邏輯層下的ORM層用什么,有人推薦Hibernate,也有人對此持否定態度,所以決定先了解一下,以下是我看了幾天文檔后的一些體會,可能有點悲觀。
1,Hibernate究竟能用到多大的項目?
什么是多大,這很難說,我想應該是數據庫表比較多,業務邏輯比較復雜(表關聯復雜),而且要求性能比較高吧。其他行業我不知道,電信行業軟件都該是如此。據我了解,這樣的數據庫訪問(尤其是頻繁發生的交易)通常需要用存促過程來解決,甭說自己寫java的JDBC了,更不用提用Hibernate來解決。所以肯定有個適用范圍的問題,希望已經熟練hibernate,并做個一些項目的人的人給予幫助解決
2 Hibernate性能會多好?
很多人都說Hibernate性能好,無非是它的一些cache功能,姑且不討論是否有這樣的最佳實踐(希望國內有人能提出best practices,或者pattern),單從cache本身來說,也并不是有了就好,否則,也不會出現分布式cache。就像長輩成天嘮叨這,嘮叨那,我表面認為那是對你好,其實你自己心里甭說又多煩惱了。hibernate為了解決方方面面的性能,而提供了方方面面的特性,但這些加在一起就不是好事情了
3 DBA贊同在項目中使用Hibernate么?
我不是DBA,甚至對寫sql語句都不熟悉,所以有時候寫DAO的時候經常請教DBA,DBA也很習慣的在DAO中找到他們熟悉的SQL(而不是HQL),我想這是DBA不提倡Hibernate的一個原因。另外一個原因是在于數據庫本生就是一個十全十美的系統,無論其性能還是伸縮性(我想沒人反對我的觀點吧),因此DBA深信,能把問題交給數據庫是最好的。因此他們不會贊同一切都依賴Hibernate。這個觀點也希望懂Hibernate的DBA給予證實
EJB的歷史使不少人都以懷疑的態度來看待Hibernate,以前EJB怎么成功的,Hibernate也在走這樣的路,所以,我不太相信評測,只是希望一且能從實踐出發,讓hibernate能減少開發人員工作量,以及減少用它的風險。