gpt4 book ai didi

java - 接口(interface)中的 Spring Data Neo4J findByName(String name) 返回不正确的结果

转载 作者:行者123 更新时间:2023-12-01 11:30:15 25 4
gpt4 key购买 nike

我使用的是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;
}

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

最佳答案

这是 4.0.0-M1 中的错误。它已在快照版本 4.0.0.BUILD-SNAPSHOT 中修复

您需要将此存储库添加到您的 pom 中才能获取它:

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

希望这有帮助

关于java - 接口(interface)中的 Spring Data Neo4J findByName(String name) 返回不正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30465012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com