Spring Data Neo4J findByName(String name)在接口返回错误的结果



我用的是4.0.0.M1

    Organisation microsoft = organisations.findByName("Microsoft");
    if (microsoft == null) {
        microsoft = new Organisation("Microsoft");
        organisations.save(microsoft);
    }
    Organisation apple = organisations.findByName("Apple");
    if (apple == null) {
        apple = new Organisation("Apple");
        organisations.save(apple);
    }
    Organisation checkMicrosoft = organisations.findByName("Microsoft");

在我的情况下,最后一行崩溃,因为返回2个结果,Neo4J试图返回一个Iteratable

由于某种原因,findByName('Microsoft')的行为与findAll()相同;

界面

public interface Organisations extends GraphRepository<Organisation> {
   Organisation findByName(String name);
}

节点实体

@NodeEntity
public class Organisation {
    public Organisation() {
        // Empty Constructor
    }
    public Organisation(String name) {
        this.name = name;
    }
    @GraphId
    Long id;
    @Property
    String name;
}

这是一个bug,还是我做错了什么?

这是4.0.0-M1中的一个bug。在快照版本4.0.0.BUILD-SNAPSHOT

中修复。

你需要将这个repo添加到你的pom中来获取它:

    <repository>
        <id>spring-libs-snapshot</id>
        <url>http://repo.spring.io/libs-snapshot</url>
    </repository>

希望能有所帮助

相关内容

  • 没有找到相关文章

最新更新