Neo4j动态cql切换

kx1ctssn  于 2023-02-08  发布在  其他
关注(0)|答案(1)|浏览(212)

我想根据请求头切换数据库,我已经设法做到了,但方法相当笨拙。
1.我不得不将我的JDBC驱动程序更改为Neo原生驱动程序,才能让“USE数据库”前缀工作。
1.我不得不在我的cql查询前加上“USE database“
我真正想要的是通过AOP来完成这一点,这样我就可以用我的自定义java注解来注解该方法,并且这个方面在进入连接点并调用实际查询之前只会单独调用“USE DATABASE”。
当我尝试这样做时,我得到了这个错误

  • 查询不能以USE GRAPH结束(必须是RETURN或更新子句)*

有可能吗?

h5qlskok

h5qlskok1#

可以更改会话对象上的数据库。

try (Session session = driver.session(SessionConfig.forDatabase( "databaseName" ))) {
   session.executeWrite((tx) -> tx.run(stmt, params));
}

您不应该将JDBC用于应用程序,而应该用于工具。
https://neo4j.com/docs/java-manual/current/cypher-workflow/#java-database-selection

相关问题