問題タブ [neo4j-ogm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neo4j - queryForObject でマップされていない単純な関係
一つ質問があります。私は neo4j-ogm スナップショット 1.5 を使用しています。私は次のクラスを持っています:
私が次のことをしようとしているとき:
ユーザー オブジェクト (u) にはプロパティが含まれません (PropertyGroup エンティティはマップされません)。
私は何を間違っていますか?どんな助けでも大歓迎です。
よろしく、
アレックス
neo4j - Spring Data Neo4j 4.1-SNAPSHOT で @QueryResult を取得するときの NoSuchMethodError
最近、Spring-Data-Neo4j 4.1.0-BUILD-SNAPSHOT (neo4j-ogm 2.0.0-M01 を使用) にアップグレードしましたが、@QueryResult を取得するクエリが機能しなくなっていることに気付きました。次のエラーが表示されます。
@QueryResult オブジェクト:
クエリ:
依存関係:
依存関係ツリー
私は何か間違ったことをしていますか、それともこれは将来修正される問題ですか?
ご協力いただきありがとうございます
spring - リポジトリの保存()が機能していません
私は現在 spring-data-neo4j をいじっていますが、データの永続化に関して非常に奇妙な動作をしています。
Getting Started ガイドを読み、Good Relationships: The Spring Data Neo4j Guide Bookに目を通しました。小さな問題や不完全性を取り除いた後、既存のノードのロードが機能します (neo4j-server 依存関係を取り除くために spring-ogm 1.1.4 を使用するなど)。
私のコードを見てみましょう...
これはエンティティです:
そして、これは私のリポジトリです:
neo4j の設定は次のとおりです。
すべてがシンプルな Spring Boot アプリケーションにまとめられており、このテスト クラスでエンティティの作成を試みます。
最後になりましたが、これが私の pom.xml です。
呼び出し時にエラーはスローuserRepository.save()
されず、「リモート」サーバーをチェックすると赤いテスト結果が確認されます。
ラベル名を明示的に指定し@GraphEntity(label = "TestUser")
ても役に立ちません。トランザクションを明示的に使用しても、どちらも役に立ちませんでした。
アイデアやヒントは大歓迎です。
java - @QueryResult を使用して POJO にマップしようとすると、cypher クエリが結果を返さない
を使用して暗号クエリを実行しています
クラスは、@QueryResultを使用して注釈を付けた POJO です
私のクエリサイファーは次のようになります
ただし、返される結果の反復子は空です
を使用して同じクエリを実行すると
にカプセル化された適切な結果が得られます
物体。
私がここに欠けているものはありますか?クラスNeo4jQueryResultClipが neo4j スプリング構成によってスキャンされていることを確認しました。次のバージョンの spring-data-neo4j (4.0.0.RELEASE) および neo4j-ogm ライブラリ (1.1.4) を使用しています。
neo4j - Spring Data Neo4j 4 は、jar ファイルに格納されたドメイン オブジェクトを認識しません
これで 1 日を無駄にしましたが、Spring Data Neo4j 4 は jar ファイルからドメイン オブジェクトをロードしないようです。シンプルな war コンテナがあり、その中にすべてのドメイン オブジェクトを含む jar ファイルがありました。クラスキャストの例外が発生し続け、その理由を突き止めるのに苦労しました。最終的に、ドメイン オブジェクトがまったく認識されていないことに気付きました。jar からクラスを削除し、戦争に直接追加した後でのみ、機能しました。これはフレームワークのバグだと思います。私が何かを見逃していない限り?
neo4j - Spring Data Neo4j 4キャッシュされた結果を返す?
これが Neo4j の質問なのか、Spring Data の質問なのかわかりません。私は Neo4j にかなり慣れていないので、正しく動作していることを確認したいだけです。spring-data-neo4j:4.0.0.RELEASE を neo4j-community-2.3.1 DB インスタンスで使用しています。
状況は、DB クエリから返されると予想されるより多くのノードを取得しているということです。3 つの異なるタイプのノードで構成されるグラフを作成すると、次のようになります。
次に、クエリを実行して単一の NodeA ノードを取得し、クエリ結果で NodeA から NodeC までのグラフ全体を受け取ります。
DB からのライブ結果ではなく、キャッシュされた結果を取得しているようです。これを言う理由は、グラフの作成後に session.context.clear() を呼び出すと、クエリは NodeC を含むグラフ全体を返さなくなりますが、単一の NodeA とそのすべての NodeB を返すためです。 .
Spring Data Neo4J ドキュメント ( http://docs.spring.io/spring-data/neo4j/docs/current/reference/html/ )でこの引用を見つけました。
ただし、Sessionはキャッシュされたオブジェクトを返さないため、ロード時に古いデータが取得されるリスクがないことに注意してください。常にデータベースにヒットします。
説明するために小さなサンプル アプリケーションを作成しました。
エンティティ クラス:
リポジトリ:
テスト アプリケーション:
テストプログラムの結果は次のとおりです。
最後の 2 つのクエリを除くすべてのクエリで 1 つのノードのみを要求しているにもかかわらず、すべてのクエリが同じ結果を返すことに注意してください。
ここで session.context().clear() 呼び出しのコメントを外すと、結果は次のようになります。
グラフ全体は、明示的に要求した場合にのみ返されることに注意してください。ただし、NodeA で NodeB をまだ受け取っています。
REST 呼び出しへの応答を入力する必要がありますが、REST 応答に表示されないように無関係なオブジェクトを削除する必要はありません。「キャッシュされた」ノードを受信しないように、DB アクセスのたびに session.context().clear() を呼び出す必要がありますか? よりきめ細かい結果を得るために呼び出しを行うより良い方法はありますか? 「キャッシュ」を完全にオフにすることはできますか?
neo4j - SpringDataNeo4j-4 derived finders with custom queries
I am currently using SpringDataNeo4j–4.1.0-BUILD-SNAPSHOT. I access the database using the “extends GraphRepository" structure and the Neo4jTemplate. Among other things I am using simple derived finder queries like:
This works fine and returns results as expected. Now I have cases where I want to find an entry by property but only retrieve certain relationships:
I know this is right now not supported. Is there a possible workaround for this behaviour without having to construct the object on my own and will this be implemented in the future versions of SDN since OGM 2.0.0-M01 now offers the possibility perform queries like this?
java - Neo4j OGM 2.0 クエリ パス
パスを返すクエリを実行しようとしていますが、で実行された同じクエリneo4j Web UI
は正しい結果を返しますがneo4j-ogm
、null
. neo4j-ogm-api,core:2.0.0-M01
Mavenからインストールしました。
私のJavaコードは次のようになります:
ルート.java:
Leaf.java:
Branch.java:
それでは、テストのためにやってみましょう
何が間違っているのか説明してください。
java - Java で session.load を使用して関連エンティティまたは関係エンティティをロードする方法
neo4j-ogm を使用して、次のコードを作成しました。
ノードエンティティ:
session.save を使用してメッセージの新しいインスタンスを保存すると、うまく機能します。関連するすべてのエンティティが保存されます。しかし、session.loadはうまく機能していないようです
ここで、N は [-1,3] で、結果は同じです。作成者、リスナーなどのプロパティは null です。なんで?