Spring Data Neo4j 4:findByPropertyIsNull无效

时间:2015-12-16 16:49:00

标签: neo4j spring-data-neo4j-4

使用SDN 4.0并拥有此实体,提供一个兴趣树(父母和子女)

@NodeEntity
public class Interest {
    @GraphId
    private Long id;
    private Interest parent;    
    private List<Interest> children = new ArrayList<Interest>();
    private String label;
    public Interest(){

    }
    public Interest(Interest parent, String label) {
        super();
        this.parent = parent;       
        this.label = label;
        if (this.parent!=null && !this.parent.getChildren().contains(this))
            getChildren().add(this);
    }
    public List<Interest> getChildren() {
        return children;
    }
    public void setChildren(List<Interest> children) {
        this.children = children;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Interest getParent() {
        return parent;
    }
    public void setParent(Interest parent) {
        this.parent = parent;
    }
    ....  
}

和存储库

public interface InterestRptry extends GraphRepository<Interest>{
    public Page<Interest> findAllByParentIsNull(Pageable pageRequest);//
    public List<Interest> findAllByParentIsNull();//
}

两种语法都没有返回任何元素,问题是什么?

这可能是因为父母被视为一个关系芯片,而不是一个属性

此查询执行作业

MATCH (i:`Interest`) WHERE not(i-[:PARENT]->()) return i

但它会导致异常 Spring Data Neo4j 4 : Failed to convert from type java.util.LinkedHashSet<?> to type org.springframework.data.domain.Page<?>

1 个答案:

答案 0 :(得分:1)

SDN 4尚不支持派生查找器上的分页。 还没有支持isNull。

解决方法是使用自定义查询。