Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 春季及;neo4j:添加新关系时会删除以前的关系_Java_Spring_Neo4j_Spring Data Neo4j - Fatal编程技术网

Java 春季及;neo4j:添加新关系时会删除以前的关系

Java 春季及;neo4j:添加新关系时会删除以前的关系,java,spring,neo4j,spring-data-neo4j,Java,Spring,Neo4j,Spring Data Neo4j,这是我的用户类: @NodeEntity 公共类用户{ @格拉希德 私人长id; @财产 私有字符串名称; @财产 私人字符串电子邮件; @财产 私有字符串密码; @财产 私有字符串光链路; @财产 私人整数年龄; @财产 私人国家; @财产 私人性别; @财产 私人串; @财产 私人网络; 私人收藏语言; @关系(type=“HAS_ROLE”,direction=Relationship.OUTGOING) 私人收藏角色; @关系(type=“HAS\u IN\u FRIENDLIST”,d

这是我的用户类:

@NodeEntity
公共类用户{
@格拉希德
私人长id;
@财产
私有字符串名称;
@财产
私人字符串电子邮件;
@财产
私有字符串密码;
@财产
私有字符串光链路;
@财产
私人整数年龄;
@财产
私人国家;
@财产
私人性别;
@财产
私人串;
@财产
私人网络;
私人收藏语言;
@关系(type=“HAS_ROLE”,direction=Relationship.OUTGOING)
私人收藏角色;
@关系(type=“HAS\u IN\u FRIENDLIST”,direction=Relationship.OUTGOING)
私人收藏朋友名单;
@关系(type=“HAS\u IN\u BLACKLIST”,direction=Relationship.OUTGOING)
私人收藏黑名单;
因此,我希望用户与其他用户建立一方关系,即朋友列表中的朋友关系。 在服务级别,我有一种向用户添加好友的方法:

public void addToFriendList(添加用户、添加用户)
抛出UserNotFoundException{
if(whoIsAdded==null)
抛出新的UserNotFoundException(“未找到用户”);
集合friendList=whoAdds.getFriendList();
if(friendList==null)
friendList=新HashSet();
添加(whoIsAdded);
whoAdds.setFriendList(friendList);
userRepository.save(whoAdds);
}
但是,当我使用此方法时,此用户以前的一些关系“HAS_IN_FRIENDLIST”将被删除。 我注意到,whoAdds.getFriendList()方法总是只返回1个用户


如何修复此问题?

我无法测试此问题,但我的理解是不支持集合。对于列表,您必须使用其中一个(如指定的)

java.util.Vector

java.util.List,由java.util.ArrayList支持

java.util.SortedSet,由java.util.TreeSet支持

java.util.Set,由java.util.HashSet支持

阵列


因此,将
收藏更改为
设置

如果使用
@关系(type=“HAS\u IN\u FRIENDLIST”,direction=Relationship.OUTGOING),会发生什么情况
setter上的注释?请指定您正在使用的SDN版本。@frant.hartm谢谢。我尝试过,但结果是一样的。我发现,当我从数据库加载用户时,好友列表总是只包含一个用户,即使他有多个关系。因此,现在我试图理解为什么会发生这种情况。我不知道如何确定sdn的d版本-在pom.xml中,我刚刚指定了:org.springframework.boot-spring-boot-starter-data-neo4j,您的spring引导版本是?它是1.5.1.RELEASE