2
내 프로젝트는 Spring 부트 + Neo4j를 기반으로합니다. 새로운 권한 노드를 만들려고하는데 권한을 복제하고 싶지 않습니다.ID가 아닌 고유 한 속성을 가진 neo4j에서 노드 생성
이제는 보유 노드 인 UserRole 노드가 List<Privilege>
입니다. 지금 나는 Privilege를 만들 때 우선 privilege가 같은 privilegeName 속성을 가진 또 다른 Privilege를 확인한다.
다음은 내 도메인 클래스입니다.
UserRole 클래스
@NodeEntity
public class UserRole {
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;
}
}
권한 클래스 내가 엔티티를 저장 GraphRepository를 사용하고
@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;
}
}
합니다.
귀하의 통찰력에 감사드립니다. 그러나 권한이 이미 존재하는지 확인하기 위해 코드를 작성해야 할 곳은 이므로 UserRole Repository가 권한을 생성하는 데 사용되기 때문입니다. 그런 종류의 예를 들려 줄 수 있습니까? –
권한을 생성하고 UserRole에 추가하기 전에? – Luanne
어떻게 작동하는지 확인하겠습니다. –