2013-03-22 53 views
1

Spring Data Neo4j doesn't have lazy loading在Spring數據中實現延遲加載Neo4j

無論如何,我都想在我的項目中進行延遲加載。畢竟,如果我不能依靠它來真正獲得我想要的每一次獲得的東西,那麼獲得一個吸氣器的真正意義何在?

因此,爲了使我的領域模型被延遲加載,我正在考慮將它們註釋爲彈簧組件,並向我的getters添加邏輯,當我嘗試訪問它們時,會延遲加載字段。我知道這將強烈地將我的模型耦合到neo4j,但我寧願擁有那種強大的耦合,也不願意延遲加載。

在我開始將所有模型轉換爲使用此模型之前,我想知道是否有人能夠告訴我除了緊密耦合之外還有什麼問題。我的模型也可以作爲彈簧組件使用,Spring數據不應該有任何問題,對吧?如果我想,我可以引用我的服務的一個靜態實例,我離開了應用程序上下文(我已經有了靜態引用,所以我不必製作所有Vaadin前端類的spring組件。)它會是更好地使用那些你認爲的?

+0

我猜測一直沒有迴應,沒有其他問題。 – CorayThan 2013-03-22 18:47:31

回答

2

我認爲所謂的高級映射模式可以完成您想要完成的大部分開箱即用功能。如果使用簡單映射模式,則所有數據都將被複制到實體中,並且所有關係都將在使用@Fetch註釋時獲取。高級映射模式使您的實體成爲您節點的一種包裝,並且只在您明確指出您的實體時訪問底層節點。這樣,很多數據將被延遲加載。確保您在交易中處理您的實體,否則將爲您製作的每一個電話創建交易,從而影響您的表現。

查看reference documentation瞭解關於此主題的大量信息。

+0

這是什麼運氣?你有什麼發現@CorayThan? – tstorms 2013-04-15 14:50:13

1

不透明,但仍然lazy fetching

template.fetch(person.getDirectReports());