我尝试使用
查询对象val query = new java.lang.String("MATCH (n:MicroConfig) WHERE n.nodeId = {nodeId} RETURN n LIMIT 1")
val parameters = new java.util.HashMap[String, String]()
parameters.put("nodeId", nodeId)
val all = session.queryForObject(new MicroConfig().getClass, query, parameters)
然而,它返回一个GraphModel,而不是我想要的MicroConfig类。
答案 0 :(得分:1)
首先,MicroConfig
是由OGM管理的类(即它是否出现在提供给SessionFactory
构造函数的包中)?
其次,您的查询是否要检查ID(n) = {nodeId}
?这将检查Neo4j内部ID是否与提供的nodeId
参数匹配。否则,这必须是类MicroConfig
上的实际属性。
使用当前的API,您可以通过两种方式执行此操作:
使用Filter
并仅返回Collection
中的一项。
你可以这样做:
val microConfig = session.loadAll(classOf[MicroConfig], new Filter("nodeId", nodeId)).lift(0)
仔细检查进入class
的Scala session.queryForObject
。保留现有查询,但使用classOf[MicroConfig]
代替new MicroConfig().getClass
。