我在 Neo4j 數(shù)據(jù)庫(kù)中有以下實(shí)體: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)); }}我想查詢數(shù)據(jù)庫(kù),以便它返回所有沒(méi)有定義父項(xiàng)的實(shí)體。我想使用@Repository界面自動(dòng)生成的查詢來(lái)完成它。這樣做可以讓我輕松添加@Depth參數(shù)。我的存儲(chǔ)庫(kù)如下:@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確實(shí)有效。但是當(dāng)我嘗試findByParentsEmpty()(應(yīng)該意味著“找到被調(diào)用的列表parents為空的實(shí)體)方法時(shí),它會(huì)拋出以下內(nèi)容Exception
1 回答

精慕HU
TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
沒(méi)有針對(duì)關(guān)系的派生查找器方法的內(nèi)置功能。他們都只關(guān)注工作(圖形)屬性。
isEmpty
spring Data Neo4j 不支持 special 中的關(guān)鍵字。附錄描述了在實(shí)現(xiàn)中可能不同的一般 Spring Data 行為。
但是,請(qǐng)查閱特定于商店的文檔以獲取支持的返回類型的確切列表,因?yàn)樘囟ㄉ痰昕赡懿恢С执颂幜谐龅哪承╊愋汀?/p>
添加回答
舉報(bào)
0/150
提交
取消