Spring 数据 Neo4j 4:findByPropertyIsNull 不工作
Spring Data Neo4j 4 : findByPropertyIsNull is not working
使用 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();//
}
两种语法都没有返回任何元素,这是什么问题?
这可能是因为 parent 被视为 RelationChip 而不是 属性
这个查询完成工作
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<?>
SDN 4 尚不支持派生查找器的分页。
isNull 也不支持。
解决方法是使用自定义查询。
使用 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();//
}
两种语法都没有返回任何元素,这是什么问题?
这可能是因为 parent 被视为 RelationChip 而不是 属性
这个查询完成工作
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<?>
SDN 4 尚不支持派生查找器的分页。 isNull 也不支持。
解决方法是使用自定义查询。