4.6. 领域实体

这个地方演示了当使用Neo4j时控制领域实体的一个方法。使用的原则是将实体封装到节点上(这个方法也可以用在关系上)。

提示

范例源代码下载地址: Person.java

马上,保存节点并且让它在包里可以被访问:

1
2
3
4
5
6
7
private final Node underlyingNode;
Person( Node personNode ) {
    this.underlyingNode = personNode;
}
protected Node getUnderlyingNode() {
    return underlyingNode;
}

分配属性给节点:

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

确保重载这些方法:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
@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() + "]";
}