Spring boot 如何在创建新节点之前检查节点是否已存在neo4j

Spring boot 如何在创建新节点之前检查节点是否已存在neo4j,spring-boot,neo4j,spring-data-neo4j,Spring Boot,Neo4j,Spring Data Neo4j,我正在开发一个springboot+Neo4j应用程序&我是graphDb新手。 我面临的问题如下所述, 我想创建指向(相对于)UserRole节点的唯一(Priviledge)节点 在下图中,您可以看到复制(Priviledge)节点已创建 在保存新密码之前,如何编写自定义密码来检查Priviledge是否存在 用户角色域: @节点性 公共类用户角色{ public UserRole(User user, Role role) { this.user = user; this


我正在开发一个springboot+Neo4j应用程序&我是graphDb新手。 我面临的问题如下所述,
我想创建指向(相对于)UserRole节点的唯一(Priviledge)节点

在下图中,您可以看到复制(Priviledge)节点已创建

在保存新密码之前,如何编写自定义密码来检查Priviledge是否存在

用户角色域: @节点性 公共类用户角色{

public UserRole(User user, Role role) {
    this.user = user;
    this.role = role;
}

/**
 For Jackson Parsing
 **/
public UserRole() {
}

@GraphId
private Long id;

public UserRole(User user, Role role, Unit unit) {
    this.user = user;
    this.role = role;
    this.unit = unit;
}



public long getId() {
    return id;
}

@Relationship(type = HAS_USERROLE,direction = "OUTGOING")
User user;
public User getUser() {
    return user;
}

@Relationship (type = HAS_ROLE_OF,direction = "OUTGOING")
Role role;
public Role getRole() {
    return role;
}


@Relationship(type = "WORKS_IN",direction = "OUTGOING")
Unit unit;

public Unit getUnit() {
    return unit;
}

public void setUnit(Unit unit) {
    this.unit = unit;
}

@Relationship(type = "HAS_PRIVILEDGE", direction = "OUTGOING")
List<Priviledge> priviledgeList;

public List<Priviledge> getPriviledgeList() {
    return priviledgeList;
}

public void setPriviledgeList(List<Priviledge> priviledgeList) {
    this.priviledgeList = priviledgeList;
}
}

在这个问题的答案中可以找到,要更新(而不是创建新实例),在调用
save
方法时,必须使用节点的ID


或者(如上述问题的注释中所示),您应该基于此创建自己的查询。

因为可以在该问题的答案中找到,要更新(而不是创建新实例),您必须在调用
save
方法时使用节点的ID


或者(如上述问题的评论所示)您应该在此基础上创建自己的查询。

您可以发布被复制的实体类的代码吗?您是否使用
GraphRespository
?@MarekJeszka是的,我使用GraphRespository,@MarekJeszka添加了实体类可能的副本您可以发布被复制的实体类的代码吗?您是否使用
GraphRespository
?@MarekJeszka是的,我在使用GraphRepository,@MarekJeszka添加了实体类可能的副本,感谢您的回复,但我希望有某种代码帮助谢谢您的回复,但我希望有某种代码帮助
public class Priviledge {

@GraphId
Long id;


private String priviledge;

private String priviledgeOn;
private Long priviledgeOnId;

public Priviledge() {
}

public Priviledge(String priviledge, String priviledgeOn) {
    this.priviledge = priviledge;
    this.priviledgeOn = priviledgeOn;
}

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getPriviledge() {
    return priviledge;
}

public void setPriviledge(String priviledge) {
    this.priviledge = priviledge;
}

public String getPriviledgeOn() {
    return priviledgeOn;
}

public void setPriviledgeOn(String priviledgeOn) {
    this.priviledgeOn = priviledgeOn;
}

public Long getPriviledgeOnId() {
    return priviledgeOnId;
}

  public void setPriviledgeOnId(Long priviledgeOnId) {
    this.priviledgeOnId = priviledgeOnId;
  }
}