0

以下は、A(UserN) とB(UserRoleN) をオブジェクトとするモデルです。

@NodeEntity()
public class UserN
{
    @GraphId
    private Long id;
    @Relationship(type = "hasRole", direction = Relationship.OUTGOING)
    private List<UserRoleN> role;

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

    public Long getId() {
        return id;
    }

    public void setRole(List<UserRoleN> role) {
        this.role = role;
    }

    public List<UserRoleN> getRole() {
        return role;
    }
}


@NodeEntity()
public class UserRoleN
{
    @GraphId
    private Long id;
    private String name;

    public Long getName() {
        return version;
    }

    public void setName(String name) {
        this.name = name;
    }

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

    public Long getId() {
        return id;
    }   
}

データベースでは、次のグラフ構造があります。

    A->B

A のロード中session.load(A.class, id, 1)に、合計 2 つの B オブジェクトが A オブジェクトの下にロードされます。このオブジェクトでは、B の ID の 1 つが null であり、他の B オブジェクト ID が neo4j によって生成されます。

データベースに B オブジェクトが 1 つしかない場合に重複 B がロードされる理由を理解できません。

4

0 に答える 0