问题描述
我在我的Spring Boot Java gradle应用程序中使用反应性neo4j连接到Neo4j数据库。我有两个节点和一个与属性的关系。因此,当我提供映射以在同一两个节点之间创建两个关系时,只有一个关系仅在数据库中创建。关系是在代码部分中最新创建的。是否有任何特定的解决方案,可以使用Java应用程序中的Reactive Neo4j-OGM在具有不同属性的两个相同节点之间创建重复关系。
@RelationshipProperties
public class CountryVisited{
private boolean isHomeCountry;
public boolean isHomeCountry() {
return isHomeCountry;
}
public void setHomeCountry(boolean homeCountry) {
isHomeCountry = homeCountry;
}
}
@Node
public class Country {
@Id
@GeneratedValue
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name= name;
}
}
@Node
public class Member {
@Id
@GeneratedValue
private Long id;
private String memberId;
private String firstName;
private String middleName;
private String lastName;
@Relationship(value = "countryVisited",direction = Relationship.Direction.OUTGOING)
private Map<Country,CountryVisited> countryVisited= new HashMap<>();
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCountryVisited() {
return countryVisited;
}
public void setCountryVisited(String countryVisited) {
this.countryVisited= countryVisited;
}
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getMiddleName() {
return middleName;
}
public void setMiddleName(String middleName) {
this.middleName = middleName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
public interface MemberRepository extends ReactiveNeo4jRepository<Member,Long> {
Mono<Member> findByMemberId(String memberId);
}
@Autowired
MemberRepository memberRepository;
Member member = new Member();
Map<Country,CountryVisited> countryVisitedMap= new HashMap<>();
Country country1= new Country();
country1.setName("India");
CountryVisited countryVisited =new CountryVisited();
countryVisited.setHomeCountry(true);
countryVisitedMap.put(country1,countryVisited);
Country country2= new Country();
country2.setName("India");
CountryVisited countryVisited2 =new CountryVisited();
countryVisited2.setHomeCountry(false);
countryVisitedMap.put(country2,countryVisited2);
member.SetCountryVisited(countryVisitedMap);
memberRepository.save(member).block();
我想保存一个值为true的关系,另一个为false的关系,但是只保存一个值为false的关系。请帮助我。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)