2015-06-18 41 views
2

我想獲得一個非常簡單的JPA + SDN(Spring Data Neo4j)跨存儲項目運行,並試圖證明使用JPA存儲庫調用保存部分實體將在Neo4j中創建相應的節點。如何正確設置使用Spring Data JPA + Neo4j的跨存儲持久性?

我遵循了我在SO,Google和Spring網站上找到的說明/建議,但目前仍然無法站立起來。我現在有在創建一個最小化測試項目:

https://github.com/simon-lam/sdn-cross-store-poc

該項目使用Spring引導和具有含圖形實體,和部分實體,PartialEntity.java一個簡單的域。我寫了一個非常基本的測試,PartialEntityRepositoryTest.java,做一個節約的部分實體,我看到:

  • 錯誤的事務管理器似乎是用來因爲CrossStoreNeo4jConfiguration類不正確的自動裝配entityManagerFactory,它是空
  • 由於上述^的結果,沒有ID分配給我的實體
  • 我沒有看到在日誌中SDN活動在所有
  • 我做得錯得離譜?

更一般地,我希望能證實一些假設,更好地瞭解跨店持久性支持一般:

  • 要啓用它,我需要啓用高級映射?
  • 作爲啓用高級映射的一部分,我需要設置AspectJ;這是否包括加載時間編織?如果這樣做是通過使用@EnableLoadTimeWeaving配置完成的?
  • 假設我的所有配置最終都是固定的,那麼當我使用JPA存儲庫保留它們時,我是否應該期望看到部分節點在Neo4j中保留?這應該由方面驅動的跨商店支持來處理嗎?

感謝您提供任何幫助!

回答

1

我發了消息給谷歌的Neo4j集團得到了邁克爾飢餓一些反饋,所以我要在這裏分享:

  • 打開出十字店lib中已經蟄伏了一段時間
  • JPA回購協議不受支持,只有EntityManager的操作是
  • 交叉存儲設立並不意味着一個遠程服務器,並沒有測試

因此,在總結我的核心理解/假設沒有了!

來源:https://groups.google.com/forum/#!topic/neo4j/FGI8692AVJQ

+0

西蒙嗨,你是怎麼結束的佈線應用程序中這兩種類型的資源?你有兩個不同的交易經理成功了嗎?這對我來說已經足夠了,我仍然試圖讓我的第一個JPA/Neo4J應用程序脫離http:// stackoverflow。com/questions/32296676/tests-fail-with-a-transactionrequiredexception -no-transaction-is-in-progress-ex -noredirect = 1#comment52612347_32296676 – Stephane

+1

Hi @StephaneEybert,我最終使用了兩個鏈接兩個不同的事務管理器,採用盡力而爲的交易管理策略。在我們的用例中,盡力而爲模式已經足夠好了。退房 - http://stackoverflow.com/questions/15817909/implementing-spring-chainedtransactionmanager-according-to-the-best-efforts-1pc很高興幫助/聊天以及更多。我的用戶名是Neo4j鬆弛組中的simonl。 – simonl

+0

我現在在Slack Neo4j組上。我不知道這件事。謝謝你的提示。我也去了一個鏈式交易管理器,詳細描述在http://stackoverflow.com/questions/12749747/how-to-get-spring-data-neo4j-and-spring-data-jpa-to-work-together並解決我的問題。你剛剛遞給我一個美好的一天! – Stephane

相關問題