3

プロパティの関係を照会する場合java.util.Date、どの構文を使用すればよいですか? 次のようなクエリを使用してみました (これは、私がやろうとしていることを示すための単なる例です。変数名に注意を払わないでください):

@Query("start n1=node({0}) match n1-[r:TYPE]->n2 where r.dateCreated>={1} return r")
Page<Relationship> findAll(Node node, long date, Pageable pager);

しかし、次のエラーがスローされます。

Caused by: Don't know how to compare that. Left: 1339845862883; Right: 1339827156836
at org.neo4j.cypher.internal.Comparer$class.compareValuesOfDifferentTypes(Comparer.scala:45)
at org.neo4j.cypher.internal.Comparer$class.compare(Comparer.scala:67)
at org.neo4j.cypher.commands.ComparablePredicate.compare(ComparablePredicate.scala:30)
at org.neo4j.cypher.commands.ComparablePredicate.isMatch(ComparablePredicate.scala:41)
at org.neo4j.cypher.internal.pipes.matching.PatternMatcher$$anonfun$isMatchSoFar$1.apply(PatternMatcher.scala:148)
at org.neo4j.cypher.internal.pipes.matching.PatternMatcher$$anonfun$isMatchSoFar$1.apply(PatternMatcher.scala:148)

私も日付を渡してみましたが、同じエラーがスローされますが、Long と Date を比較しようとしています。

spring-data-neo4j バージョン 2.0.1.RELEASE を使用しています

4

1 に答える 1

2

そのため、日付プロパティの long 値は文字列としてグラフに格納されます (新しいバージョンの SDN では、日付フィールドに @GraphProperty(targetType=long.class) を定義できます。

したがって、パラメーター値を次のように渡すと、比較が機能します。String.valueOf(longValue)

于 2012-07-06T11:40:22.783 に答える