2015-11-26 186 views
0

Spring提供@QueryResult註釋將返回值映射到java對象。但看起來像@QueryResult註解的類只能有原始類型的實例變量。如果它是一個對象,那麼它將映射到Map<String, Object>將Neo4J結果映射到java對象

有什麼辦法可以將這個Map<String, Object>映射到一個java對象嗎?我試過,但不斷收到空值

例如,

MATCH (n{name:'x'}) return {id: ID(n), labels: labels(n)}

想把這個查詢的返回值匹配

@QueryResult 
class QueryResult{ 
    NodeInfo node; 
} 

class NodeInfo{ 
    Long id; 
    String []labels; 
} 

測繪工作,如果類定義爲

@QueryResult 
class QueryResult{ 
    Map<String, Object> node; 
} 
+0

哪個版本的SDN? – Luanne

+0

@Luanne最新4.0.0.RELEASE – sidgate

回答

1

這不支持 - 將地圖轉換爲一個POJO。

您可能最終可以定義一個轉換器(NodeInfo < - > Map),但在當前版本中不起作用。

如果您希望此項目由團隊討論,請在https://jira.spring.io/browse/DATAGRAPH/to支持轉換器中打開功能請求。