0

私のプロジェクトには、関係によって接続されているMapNodesConnectRelationがあります。ConenctRelationプロパティの長さがあります。ノードとその関係はNeo4J問題なくデータベースに保存されます。しかし、ノードをロードするときrelationsListは空です。


MapNode クラス

@NodeEntity
public abstract class MapNode extends Circle implements IObservable{

@GraphId
Long id;

@Relationship(type = "CONNECTS_TO")
private ArrayList<ConnectRelation> relations = new ArrayList<>();

@Property(name="x")
private double xCoordinate;

@Property(name="y")
private double yCoordinate;

public ConnectRelation connectToNode(MapNode otherNode){
    ConnectRelation relation = new ConnectRelation(this,otherNode);
    relation.setLength(2);
    this.relations.add(relation);
    return relation;
}
.
.

ConnectRelation クラス:

@RelationshipEntity
public class ConnectRelation extends Line implements IObserver {

@GraphId
Long id;

@StartNode
MapNode startNode;

@EndNode
MapNode endNode;

@Property(name="startX")
private double startXCoordinate;
@Property(name="startY")
private double startYCoordinate;

@Property(name="endX")
private double endXCoordinate;
@Property(name="endY")
private double endYCoordindate;

@Property(name="length")
private double length;
.
.

塗りつぶしと読み込みの方法:

 public static void fillDb(){
    getSession().purgeDatabase();

    Room roomOne = new Room();
    roomOne.setXCoordinate(100);
    roomOne.setYCoordinate(100);
    Room roomTwo = new Room();
    roomTwo.setXCoordinate(200);
    roomTwo.setYCoordinate(200);

    ConnectRelation connectRelation = roomOne.connectToNode(roomTwo);

    getSession().save(roomOne);
    getSession().save(roomTwo);
    getSession().save(connectRelation);
}

public void loadNodes(){
    mapNodeList = new ArrayList<>(DatabaseRepository.getSession().loadAll(MapNode.class,2));
    mapNodeList.forEach(n -> {
        n.getRelations().forEach(r -> {
            if(!relationList.contains(r)){
                relationList.add(r);
            }
        });
    });
}

私が抱えている問題は、深さが 1 より大きい値に設定されている場合でも、ノードをロードするときに MapNode の関係フィールドが空であることです。

前もって感謝します!

4

1 に答える 1

2

私が見ることができる唯一の明らかなことは、関係タイプが定義されていないことです@RelationshipEntity-

@RelationshipEntity(type = "CONNECTS_TO")
public class ConnectRelation...

その可能性があります - 追加してください。リレーションシップがまだ読み込まれていない場合は、デバッグをオンにして、何か興味のあることを共有していただけますか? 追加

<logger name="org.neo4j.ogm" level="debug" />

logback.xml へ

于 2015-12-18T10:58:31.687 に答える