亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

org.neo4j.ogm.exception.core.MappingException:

org.neo4j.ogm.exception.core.MappingException:

慕萊塢森 2023-08-09 15:15:41
我創建了 2 個具有相同 ClassName 但位于不同包中且具有不同 NodeEntity 標簽的類。僅當使用@Query調用存儲庫方法時,我才面臨下面的 OGM 映射異常。Caused by: org.neo4j.ogm.exception.core.MappingException: More than one class has simple name: Circuit    at org.neo4j.ogm.metadata.DomainInfo.getClassInfo(DomainInfo.java:307)    at org.neo4j.ogm.metadata.DomainInfo.getClassSimpleName(DomainInfo.java:289)    at org.neo4j.ogm.metadata.MetaData.classInfo(MetaData.java:78)    at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.lambda$executeAndMap$1(ExecuteQueriesDelegate.java:119)    at org.neo4j.ogm.session.Neo4jSession.doInTransaction(Neo4jSession.java:574)    at org.neo4j.ogm.session.Neo4jSession.doInTransaction(Neo4jSession.java:553)    at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.executeAndMap(ExecuteQueriesDelegate.java:118)    at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.query(ExecuteQueriesDelegate.java:88)    at org.neo4j.ogm.session.Neo4jSession.query(Neo4jSession.java:408)在調試時,我發現org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate類中的executeAndMap方法使用 Class SimpleName而不是分配的標簽來查找導致問題的 ClassInfo。具有相同簡單名稱的類存在于不同的包中,具有不同的標簽并映射到不同的存儲庫接口。Neo4jSession.loadAll按預期工作,因為它使用類完整限定名稱來獲取 ClassInfo。private <T> Iterable<T> executeAndMap(Class<T> type, String cypher,                 Map<String, ?> parameters, ResponseMapper mapper) {        return session.<Iterable<T>>doInTransaction( () -> {            if (type != null && session.metaData().classInfo(type.getSimpleName()) != null) {預期:用于獲取 ClassInfo 的 NodeEntity 標簽。實際:SimpleName 類用于獲取 ClassInfo。
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

使用 Class FullQualifiedName 來獲取 ClassInfo 效果很好。

它已被修復。

查看完整回答
反對 回復 2023-08-09
  • 1 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號