域实体

域实体可以封装在一个节点周围。同样的方法也可以用于关系。

示例的源代码位于:Person.java

首先,存储节点并使其在包内可访问

private final Node underlyingNode;

Person( GraphDatabaseService databaseService, Transaction transaction, Node personNode )
{
    this.databaseService = databaseService;
    this.transaction = transaction;
    this.underlyingNode = personNode;
}

protected Node getUnderlyingNode()
{
    return underlyingNode;
}

将属性委托给节点

public String getName()
{
    return (String)underlyingNode.getProperty( NAME );
}

确保覆盖这些方法

@Override
public int hashCode()
{
    return underlyingNode.hashCode();
}

@Override
public boolean equals( Object o )
{
    return o instanceof Person &&
            underlyingNode.equals( ( (Person)o ).getUnderlyingNode() );
}

@Override
public String toString()
{
    return "Person[" + getName() + "]";
}
© . All rights reserved.