我在 Neo4j 數據庫中有以下實體:public class CompetencyEntity { @GeneratedValue(strategy = UuidStrategy.class) @Id private String id; @Property private String name; @Relationship(type = "PARENT_OF", direction = Relationship.OUTGOING) private List<CompetencyEntity> children; @Relationship(type = "PARENT_OF", direction = Relationship.INCOMING) private List<CompetencyEntity> parents; public void setParentOf(CompetencyEntity competency) { children.add(competency); } public void setNotParentOf(CompetencyEntity competency) { children.removeIf(comp -> comp.id.equals(competency.id)); }}我想查詢數據庫,以便它返回所有沒有定義父項的實體。我想使用@Repository界面自動生成的查詢來完成它。這樣做可以讓我輕松添加@Depth參數。我的存儲庫如下:@Repositorypublic interface CompetencyRepository extends Neo4jRepository<CompetencyEntity, String>, CrudRepository<CompetencyEntity, String> { Set<CompetencyEntity> findByNameRegex(String name); @Query("MATCH (n:CompetencyEntity) WHERE NOT (n)<-[:PARENT_OF]-(:CompetencyEntity) RETURN n") Set<CompetencyEntity> findRootCompetencies(); @Query("MATCH (n:CompetencyEntity) WHERE NOT (:CompetencyEntity)<-[:PARENT_OF]-(n) RETURN n") Set<CompetencyEntity> findChildrenCompetencies(); Set<CompetencyEntity> findByChildrenEmpty(); Set<CompetencyEntity> findByParentsEmpty();}查詢findRootCompetencies確實有效。但是當我嘗試findByParentsEmpty()(應該意味著“找到被調用的列表parents為空的實體)方法時,它會拋出以下內容Exception
1 回答

精慕HU
TA貢獻1845條經驗 獲得超8個贊
沒有針對關系的派生查找器方法的內置功能。他們都只關注工作(圖形)屬性。
isEmpty
spring Data Neo4j 不支持 special 中的關鍵字。附錄描述了在實現中可能不同的一般 Spring Data 行為。
但是,請查閱特定于商店的文檔以獲取支持的返回類型的確切列表,因為特定商店可能不支持此處列出的某些類型。
添加回答
舉報
0/150
提交
取消