3

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

最后一行是测试失败的地方。有什么线索吗?

PS。我是 Neo4j 的业余爱好者,碰巧发现了@RelationshipType,所以我很可能做错了可笑的事情。但愿如此!

4

1 回答 1

2

很抱歉让您失望了,但是在检索过程中,现在的代码不查找类型类,而是查找类型 from @RelatedToViaor@RelationshipEntity或字段名称relationships作为关系类型。但是您提出了一个有效的观点,您能在JIRA中提出问题吗?

你调查了template.getRelationshipsBetween吗?

你为什么不为你的关系创建单独的类?这种方法的用例是什么?

于 2012-06-03T15:32:51.920 回答