2016-04-18 18 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