Spring Data Neo4j(获取错误“无法获取字段的单字段值”)

时间:2015-02-17 14:01:43

标签: java neo4j spring-data-neo4j

我收到错误:“无法获得字段'创建者'的单字段值”,所以我没有得到它,为什么它来了。实际上,当我创建独特的关系时,当我抓取时,它就要来了我正在使用SDN和neo4j embedded.so,请帮我解决它

我的域类

@NodeEntity
class CrowdFunding extends BaseEntity{
    String fundingFor
    String title

@RelatedTo(type="HAS_USER")
    User creator
}

我的资料库

@Query("Match (n:CrowdFunding) WHERE id(n)={0} match (user:User) where id(user) in {1} WITH n,user create unique (n)-[:HAS_USER {is_owner:false,is_contact_person:true,is_wishlist_crowdFunding:false,is_blacklist_crowdFunding:false}]->(user)")
    saveCrowdFundingContacts(long id,List contacts)

我的控制器

CrowdFunding crowdFunding = findOne(id,CrowdFunding.class)

关系创建成功,但是当我使用neo4j模板方法获取众筹对象时,它即将到来。

我的配置是:

org.springframework.data:spring-data-neo4j:3.2.0.RELEASE

1 个答案:

答案 0 :(得分:3)

您的查询可能已创建与同一User节点中多个CrowdFunding节点的关系,因为该查询允许与User中具有ID的所有{1}个节点建立关系集合。

如果这确实是您想要的,您需要修改Crowdfunding类以允许Users的集合,如下所示:

@NodeEntity
class CrowdFunding extends BaseEntity{
    String fundingFor
    String title

    @RelatedTo(type="HAS_USER")
    Collection<User> users
}