gpt4 book ai didi

casting - Neo4j:spring-data-neo4j,如何将结果转换为我的类型类?

转载 作者:行者123 更新时间:2023-12-02 18:16:11 25 4
gpt4 key购买 nike

我已将一些节点插入 Neo4j DB 中。并且我想从数据库中选择一些节点并将其转换为特定类。

以下是有关该问题的一些代码:

class Service {
Neo4jTemplate neo4jTemplate

@Transactional
def find() {
def id1 = 11
//Knowledge k = neo4jTemplate.findOne(1, Knowledge)
Result result = neo4jTemplate.query("start n=node(11) return ID(n),n.name,n.age;", null)
//how to cast the result to User class
println "the tpye of result called User is "+ result.to(User.class).is(cn.edu.bnuz.itc.bok.sub2.User.class)
}

}

有关节点的详细信息,例如:

+-------------------------------------------------------------------------+
| Node[11]{career:"programmer",name:"kelvin",age:35,introduce:"lazy doy"} |
+-------------------------------------------------------------------------+

@NodeEntity
class User {
@GraphId
Long id;
String name;
int age;
}

我只想从数据库获取节点的 id、名称、年龄并将其放入 User 类中。但用了很多方法都失败了。

这里我遇到了一个问题:如何将结果转换到我的目标类?我尝试了很多方法都没有成功,谢谢大家的关注。

最佳答案

从查询中返回用户节点,并使用所需的类作为参数调用返回的 Resultto 方法:

Result result = neo4jTemplate.query("start n=node(11) return n", null);
for(User u : result.to(User.class)) {
doSomethingWith(u);
}

您可能需要考虑using repositoriessupport cypher queries像:

public interface UserRepository extends GraphRepository<User> {
@Query("start n=node(11) return n")
Iterable<User> getUser11();
}

关于casting - Neo4j:spring-data-neo4j,如何将结果转换为我的类型类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13855549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com