我發現自己做了很多工作來獲得nHibernate安裝,並且還在想:爲什麼要使用像Hibernate/NHibernate這樣的框架?我相信有不少人喜歡這個框架,但我不清楚它的優點和缺點。延遲加載有什麼優點和缺點,並且Hibernate還有其他的特性嗎?有沒有什麼能夠讓這樣的框架更易於使用(最佳實踐,其他框架等)?爲什麼使用Hibernate/nHibernate?
9
A
回答
2
我在一次採訪中被問到了這個問題,儘管我已經使用了5年以上的休眠方式,但我無法證明我的答案完全正確 - 它已經成爲我的事實標準。經過研究發現,在接受Gavin King創造了休眠的採訪中找到了令人滿意的答案 - http://www.javaperformancetuning.com/news/interview041.shtml
+4
您應該總結文章中的要點並將它們放入您的答案中。 – anataliocs
2
如果您使用hibernate,那麼您可能會使用像java這樣的語言。現在假設您希望從數據庫中檢索記錄,需要處理它以更新一些值。通過這樣做的休眠方式,你抽象的jdbc是如何完成的細節,並專注於你的業務方法。也可以像pojos擁有的關係一樣處理像arrayLists等對象的記錄。有選項來設置休眠最簡單的是通過使用註釋和Spring註釋並行。
相關問題
- 1. Kerberos - 什麼是SPN,爲什麼使用
- 2. 爲什麼在項目中使用'assert'? (爲什麼使用它這麼多次)
- 3. 爲什麼要使用Windows.Forms.Timer?
- 4. 爲什麼使用functionName()== functionName.prototype.constructor()
- 5. 爲什麼使用MEMCACHED_BEHAVIOR_NOREPLY?
- 6. 爲什麼使用#'與lambda?
- 7. 爲什麼使用curses.ascii.islower?
- 8. 爲什麼mongoDB使用objectID?
- 9. 爲什麼使用ServletContext.setAttribute()?
- 10. 爲什麼要使用Mockito?
- 11. 爲什麼不使用XMLHttpRequest?
- 12. 爲什麼使用Swing BoxLayout
- 13. 爲什麼使用INSERT/* + APPEND * /?
- 14. Mysql爲什麼使用utf8_slovenian_ci?
- 15. 爲什麼使用指針
- 16. 爲什麼使用Mongrel2?
- 17. 爲什麼使用IdentityServer4?
- 18. c#:爲什麼使用DLLs?
- 19. 爲什麼要使用Django?
- 20. 爲什麼使用suhosin?
- 21. 爲什麼要使用DataTemplate.DataType
- 22. C#爲什麼使用SuspendLayout()?
- 23. 你爲什麼使用T4?
- 24. 爲什麼使用BitmapFactory.Options.inTempStorage?
- 25. 爲什麼使用`url_for`?
- 26. 爲什麼Django使用BaseForm?
- 27. 爲什麼不使用「@ messages」?
- 28. 爲什麼使用osgi?
- 29. 爲什麼deleteAll使用SELECT?
- 30. 爲什麼ByteArrayOutputStream使用int?
或http://stackoverflow.com/questions/448684/why-should-you-use-an-orm(已被關閉'主要是基於意見')的副本 – tacaswell
看看這篇文章http:// stackoverflow.com/questions/448684/why-should-you-use-an-orm –
我用了多年的hibernate,但現在我只使用Spring&Annotations,JDBCTemplate一個很好的文章來解釋這個用法:http://www.benchresources .net/spring-jdbc -a-example-on-jdbc-template-using-annotation/ –