Spring Data Neo4j - проблемы @RelationshipType

У меня возникают трудности с поиском отношений, когда тип отношения помечен значком @RelationshipType поле.

В Neoclipse отношения выглядят корректно, но я не получаю результатов в моем приложении.

Код, который не работает (упрощен):

@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;
    }

    ...
}

а также:

@RelationshipEntity
public class Relationship {

    @RelationshipType
    private String type;

    ...
 }

Код, который работает:

@RelationshipEntity(type = "something")
public class Relationship {

   ...
}

Тем не менее, это не подходит для моего случая использования (у меня есть куча разных Relationship типы между произвольными комбинациями Entity экземпляров.

Полный тестовый код приведен ниже. Agency а также Item оба подклассы Entity,

// 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));

Последняя строка - где тест не пройден. Есть какие-нибудь подсказки?

M

PS. Я любитель ранга с Neo4j и только что нашел @RelationshipTypeтак что я вполне могу делать что-то смешно неправильно. Я надеюсь, что это так!

1 ответ

Решение

Извините, что разочаровал вас, но во время поиска код прямо сейчас ищет не класс типа, а тип из @RelatedToVia или же @RelationshipEntity или имя поля relationships как тип отношений. Но вы делаете правильное замечание, не могли бы вы поднять вопрос в JIRA?

Вы смотрели в template.getRelationshipsBetween?

Почему бы вам не создать индивидуальные занятия для ваших отношений? Какой вариант использования для этого подхода?

Другие вопросы по тегам