Probleme mit Spring Data Neo4j - @RelationshipType
Ich habe Probleme beim Abrufen von Beziehungen, wenn der Beziehungstyp mit einem gekennzeichnet ist@RelationshipType
Feld.
Die Beziehungen sehen in Neoclipse korrekt aus, aber ich erhalte in meiner Anwendung keine Ergebnisse.
Der Code, der nicht funktioniert, ist (vereinfacht):
@NodeEntity
public abstract class Entity {
@RelatedToVia
private Collection<Relationship> relationships;
public Relationship relatedTo(Entity entity, String type) {
Relationship relationship = new Relationship(type, this, entity);
relationships.add(relationship);
return relationship;
}
...
}
und:
@RelationshipEntity
public class Relationship {
@RelationshipType
private String type;
...
}
Der Code, der funktioniert, ist:
@RelationshipEntity(type = "something")
public class Relationship {
...
}
Dies passt jedoch nicht zu meinem Anwendungsfall (ich habe eine Reihe von verschiedenenRelationship
Typen zwischen beliebigen Kombinationen vonEntity
Instanzen.
Der vollständige Testcode ist unten.Agency
undItem
sind beide Unterklassen vonEntity
.
// Create first entity
Agency arnz = agencyRepository.save(new Agency());
arnz.setCode("ARNZ");
agencyRepository.save(arnz);
// Create second entity
Item r123 = itemRepository.save(new Item());
r123.setCode("R123");
// Create parent/child relationship between entities
r123.relatedTo(arnz, EntityRelationshipType.PARENT);
itemRepository.save(r123);
// Retrieve entity from database
Entity entity = itemRepository.findByCode("R123");
// Verify that relationship is present
assertThat(entity.getRelationships().iterator().hasNext(), is(true));
In der letzten Zeile schlägt der Test fehl. Irgendwelche Hinweise?
M
PS. Ich bin ein Amateur mit Neo4j Rang und gerade zufällig zu finden@RelationshipType
Ich könnte also etwas lächerlich Falsches tun. Hoffentlich!