【发布时间】:2019-03-17 11:56:58
【问题描述】:
假设我无权访问SessionFactory,将Neo4j session 执行的StatementResult 转换为正确的对象或至少一个Json 的正确方法是什么?
我正在这样做,它看起来笨拙而冗长:
var session = require(Driver.class).session(); // v1 Driver, v1 Session
try (session) {
Iterable<Record> iterable =
() -> session.run(FIND_BY_TITLE_LIKE, Map.of("titleLike", ".*" + titleLike + ".*"));
var list = StreamSupport
.stream(iterable.spliterator(), false)
.map(Record::asMap)
.map(Map::values)
.flatMap(Collection::stream) // nodes
.map(node -> ((InternalNode) node).asMap())
.collect(Collectors.toList());
LOGGER.info("Processed list: {}", list);
return list;
}
也许我应该为此使用其他 Driver 或 Session?
【问题讨论】:
-
为什么不使用 Neo4j-OGM 呢?这是这个项目的目标......否则你可以编写一个函数将
Record转换为JSON(或其他)并将其放入第一个Map函数中(之后删除所有内容) -
@logisima 好的,我试试
标签: java json neo4j neo4j-ogm jooby