3
當在java.util.Date
屬性上查詢關係時,應該使用什麼語法?我嘗試了使用類似的查詢(這只是爲了顯示我想要做的,所以請不要注意變量名有一個例子):與Spring Data比較日期neo4j
@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)
我也嘗試通過傳遞日期,但它只是拋出相同的錯誤,但試圖比較長和日期。
我使用的彈簧數據Neo4j的版本2.0.1.RELEASE
是的,我來到了同樣的想法改變爲一個字符串,而不是一個長的比較將工作,爲什麼選擇存儲它作爲一個字符串,而不是一個很長的? – Guillaume
,並且,如果它作爲一個字符串存儲它,傳遞一個參數作爲日期應自動將其轉換爲字符串以避免引發錯誤,不應該嗎? – Guillaume
對,沒錯。但是,由於我們不知道(在SDN中)您在自定義查詢中編寫的內容,因此很難進行任何轉換。儘管如此,派生的查找器方法卻不同。 –