Problemy z danymi Spring Neo4j - @RelationshipType
Mam trudności z odzyskaniem relacji, gdy typ relacji jest opatrzony adnotacją@RelationshipType
pole.
Relacje wyglądają poprawnie w Neoclipse, ale nie otrzymuję żadnych wyników w mojej aplikacji.
Kod, który nie działa, jest (uproszczony):
@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;
}
...
}
i:
@RelationshipEntity
public class Relationship {
@RelationshipType
private String type;
...
}
Kod, który działa, to:
@RelationshipEntity(type = "something")
public class Relationship {
...
}
Jednak to nie pasuje do mojego przypadku użycia (mam kilka różnychRelationship
typy między dowolnymi kombinacjamiEntity
instancje.
Pełny kod testu znajduje się poniżej.Agency
iItem
oba są podklasamiEntity
.
// 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));
Ostatnia linia to miejsce, w którym test kończy się niepowodzeniem. Jakieś wskazówki?
M
PS. Jestem amatorem rangi w Neo4j i akurat znalazłem@RelationshipType
, więc mogę zrobić coś śmiesznie źle. Mam nadzieję!