在使用Fluent nHibernate進行開發時,我注意到在關係上我可以指定Fetch
屬性,可能的選項有Select()
,Join()
和Subselect()
。Fluent nHibernate中的.Fetch.Select()是什麼?
我做了一些搜索,並得到很少的信息。我在nHibernate文檔和流暢的nHibernate文檔中找到了它們,但除了給出它們的簽名之外,它沒有什麼其他功能,這對我沒有太大的幫助。
我想知道這些是什麼以及他們真正做了什麼,是否有任何真正的解釋。我一直很困惑自己。從我自己的評價,他們似乎改變引用的實體被拉到對象圖的方式,但我還沒有完全辨別他們如何改變它,哪一個最適合什麼樣的情況?
我確實找到了這個博客文章(http://www.mkyong.com/hibernate/hibernate-fetching-strategies-examples/),它有一點細節,但我仍然很困惑整個情況。我還看到其他使用Select()
的示例更爲優化,但其背後的原因。此外,我在(http://community.jboss.org/wiki/AShortPrimerOnFetchingStrategies)上找到了一篇針對原始Java Hibernate平臺的文章,但我認爲這個概念是相同的。在這一個中,我的理論似乎有些變了,因爲它更側重於他們所做的懶惰加載方面,但我還沒有看到任何非常平坦的例子。