我想獲得一個非常簡單的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中保留?這應該由方面驅動的跨商店支持來處理嗎?
感謝您提供任何幫助!
西蒙嗨,你是怎麼結束的佈線應用程序中這兩種類型的資源?你有兩個不同的交易經理成功了嗎?這對我來說已經足夠了,我仍然試圖讓我的第一個JPA/Neo4J應用程序脫離http:// stackoverflow。com/questions/32296676/tests-fail-with-a-transactionrequiredexception -no-transaction-is-in-progress-ex -noredirect = 1#comment52612347_32296676 – Stephane
Hi @StephaneEybert,我最終使用了兩個鏈接兩個不同的事務管理器,採用盡力而爲的交易管理策略。在我們的用例中,盡力而爲模式已經足夠好了。退房 - http://stackoverflow.com/questions/15817909/implementing-spring-chainedtransactionmanager-according-to-the-best-efforts-1pc很高興幫助/聊天以及更多。我的用戶名是Neo4j鬆弛組中的simonl。 – simonl
我現在在Slack Neo4j組上。我不知道這件事。謝謝你的提示。我也去了一個鏈式交易管理器,詳細描述在http://stackoverflow.com/questions/12749747/how-to-get-spring-data-neo4j-and-spring-data-jpa-to-work-together並解決我的問題。你剛剛遞給我一個美好的一天! – Stephane