У меня странная проблема, связанная с созданием отношений во встроенном neo4j с помощью метода createRelationshipTo ().Но когда я использую метод getRelationships () для доступа к этим отношениям, никакие отношения не обнаруживаются.Когда я сразу создаю связь и использую метод getRelationships (), эта связь обнаруживается.Но позже это отношение теряется.
Например, в sampleMethod () я создаю и получаю отношения как в одном методе, так что он возвращает оба отношения, но когда я пытаюсь получить те же отношения, используя одни и те же getRelationships() в sampleMethod2 () ничего не дает.
public ArrayList<String> sampleMethod() {
ArrayList<String>list = new ArrayList<String>();
DatabaseConnection dbConnection = new DatabaseConnection();
GraphDatabaseService graphDb = dbConnection.connectToDatabase();
Transaction tx = graphDb.beginTx();
Node user = graphDb.findNode(Label.label("User"), "userName", "hamna123");
Node restaurant = graphDb.findNode(Label.label("Restaurants"), "name", "The Grand Regency");
Relationship rel = user.createRelationshipTo(restaurant, RelationshipType.withName("Visited"));
Relationship rel2 = user.createRelationshipTo(restaurant, RelationshipType.withName("Favorite"));
for (Relationship relationship : user.getRelationships()) {
String found = relationship.getType().name().toString();
list.add(found);
}
tx.close();
//graphDb.shutdown();
return list;
}
public ArrayList<String> sampleMethod2() {
ArrayList<String>list = new ArrayList<String>();
DatabaseConnection dbConnection = new DatabaseConnection();
GraphDatabaseService graphDb = dbConnection.connectToDatabase();
Transaction tx = graphDb.beginTx();
Node user = graphDb.findNode(Label.label("User"), "userName", "hamna123");
Iterable<Relationship> relations = user.getRelationships();
for (Relationship relationship : relations) {
String found = relationship.getType().name().toString();
list.add(found);
}
tx.close();
graphDb.shutdown();
return list;
}