2016-04-18 29 views
1

我正在使用Neo4j 2.3.3和SDN 4.1.1Neo4j找不到Long值

當我用長值保存節點時。 (例如:memberNo:6267057069360176000) 和findByMemberNo在瀏覽器中。

Match (n:Member{memberNo:6267057069360176000}) Return n 

此查詢找不到任何內容。 當我將memberNo更改爲String時。

Match (n:Member{memberNo:'6267057069360176000'}) Return n 

它可以找到。

是我的代碼錯誤或錯誤嗎?

+0

有多少成員你有? –

+0

@AntP低於10000,如果值很小(如46938586),它的工作原理。 – reperion

回答

0

因爲:

轉換爲使用Spring轉換服務字符串中的所有字段將被存儲爲一個字符串。春季數據的Neo4j包括默認類型轉換器,有以下類型處理:

java.math.BigInteger到String屬性

https://github.com/spring-projects/spring-data-neo4j/blob/master/src/main/asciidoc/reference/programming-model/node-entities.adoc#property-optional-annotation-for-property-fields

+0

你的意思是如果使用Long類型,memberNo:'6267057069360176000'將會工作嗎? 只適用於實體類中的字符串類型。 – reperion