Spring Data Neo4j 4 Repository方法返回1个元素

布鲁诺德

我正在从SDN 3迁移到SDN 4,从Neo4j 2.3迁移到3.0.1

在新的依赖项上,我的测试失败并带有一个断言。而不是3个节点,它仅返回一个。

@NodeEntity
public class Decision extends Commentable {

    private final static String CONTAINS = "CONTAINS";
    private final static String DEFINED_BY = "DEFINED_BY";
    private final static String VOTED_FOR = "VOTED_FOR";

    private String name;

    @Relationship(type = DEFINED_BY, direction = Relationship.INCOMING)
    private Set<Criterion> criteria = new HashSet<>();

....


@NodeEntity
public class Criterion extends Authorable {

    private final static String CONTAINS = "CONTAINS";
    private final static String DEFINED_BY = "DEFINED_BY";

    private String name;

    private String description;

    @Relationship(type = CONTAINS, direction = Relationship.INCOMING)
    private CriterionGroup group;

    @Relationship(type = DEFINED_BY, direction = Relationship.OUTGOING)
    private Decision owner;


@Test
    public void testGetChildDecisionsSortedBySumOfCriteriaAvgVotesWeightWithCoefficients() {
        User user = userService.createUser("test", "test", "[email protected]", null, null);

        final Decision rootDecision1 = decisionDao.create("Root decision1", "Root decision 1 description", null, user);

        final Criterion rootDecision1Criterion1 = criterionDao.create("rootDecision1Criterion1", "rootDecision1Criterion1", rootDecision1, user);
        final Criterion rootDecision1Criterion2 = criterionDao.create("rootDecision1Criterion2", "rootDecision1Criterion2", rootDecision1, user);
        final Criterion rootDecision1Criterion3 = criterionDao.create("rootDecision1Criterion3", "rootDecision1Criterion3", rootDecision1, user);

        assertEquals(3, criterionDao.getCriteriaDefinedByDecision(rootDecision1.getId()).size());

存储库方法:

@Query("MATCH (d:Decision)<-[:DEFINED_BY]-(c:Criterion) WHERE id(d) = {decisionId} RETURN c")
List<Criterion> getCriteriaDefinedByDecision(@Param("decisionId") Long decisionId);

可能是此问题的原因以及如何解决?

更新

我发现那个建筑

public Criterion(String name, String description, Decision owner, User author) {
        this.name = name;
        this.description = description;
        this.owner = owner;
        setAuthor(author);
    }

SDN 4不足以创建ONE_TO_MANY关联。.我还必须添加其他行,以便也将对象添加到父集合。

public Criterion(String name, String description, Decision owner, User author) {
        this.name = name;
        this.description = description;
        this.owner = owner;
        if (owner != null) {
            owner.addCriterion(this);
        }
        setAuthor(author);
    }

我究竟做错了什么 ?

尤里·杜比娜(Yuriy Dubyna)

遇到同样的问题,请尝试DEFINED_BY @RelationshipCriterion

   @NodeEntity
   public class Criterion extends Authorable {

    private final static String CONTAINS = "CONTAINS";
    private final static String DEFINED_BY = "DEFINED_BY";

    private String name;

    private String description;

    @Relationship(type = CONTAINS, direction = Relationship.INCOMING)
    private CriterionGroup group;


}

Criterion首先创建,然后将它们连接到Decision

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring Data Neo4j:处理关系的正确方法?

来自分类Dev

Spring Data Neo4j 4返回缓存的结果吗?

来自分类Dev

Spring Data Neo4j neo4jTemplate.fetch()仅返回一个值

来自分类Dev

Spring Data Neo4j 4:RelationshipOperationsRepository

来自分类Dev

Spring Data Neo4j 4:RelationshipOperationsRepository

来自分类Dev

Spring Data Neo4j 4 和动态属性

来自分类Dev

Spring Data Neo4j和Spring Data Auditing

来自分类Dev

Spring Data Neo4j和Spring Data Auditing

来自分类Dev

Spring Data Neo4j存储库的save方法在UUId属性的位置返回null

来自分类Dev

Spring Data Neo4j 4.0中的Neo4j TimeTree

来自分类Dev

Neo4j和Spring Data Neo4j 4.0.0:导入大型数据集

来自分类Dev

Spring Data Neo4j 4.0中的Neo4j TimeTree

来自分类Dev

在Spring Data Neo4J中保存关系的正确方法是什么?

来自分类Dev

在Spring Data neo4j中使用RelationshipEntity保存Node的正确方法是什么?

来自分类Dev

Spring Data Neo4j存储库调用init方法失败

来自分类Dev

Spring Data Neo4j可分页

来自分类Dev

如何使用@Labels Spring Data Neo4j?

来自分类Dev

Spring Data Neo4j @RelationshipEntity子类?

来自分类Dev

Spring Data Neo4j 3.0.0-标签支持

来自分类Dev

Spring Data Neo4j如何汇总

来自分类Dev

设置Spring Data Neo4j示例

来自分类Dev

Spring Data Neo4j 3.3:PersistentEntityConversionException

来自分类Dev

Spring Data REST Neo4j创建关系

来自分类Dev

Spring Data Neo4j保持着丰富的关系

来自分类Dev

Spring Data Neo4j搜索和索引

来自分类Dev

Neo4j非托管扩展与Spring Data

来自分类Dev

Spring Data Neo4j初学者教程

来自分类Dev

Spring Data Neo4j:复杂的关系不持久

来自分类Dev

使用Result时Spring Data Neo4j NotInTransactionException

Related 相关文章

热门标签

归档