Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何维护org.neo4j.ogm.session.SessionFactory对象_Neo4j_Neo4j Ogm - Fatal编程技术网

如何维护org.neo4j.ogm.session.SessionFactory对象

如何维护org.neo4j.ogm.session.SessionFactory对象,neo4j,neo4j-ogm,Neo4j,Neo4j Ogm,在应用程序中,我们只使用OGM,不使用SpringBoot或相关api,在控制器中,我们使用以下代码 public TopologyExtController( @Context org.neo4j.graphdb.GraphDatabaseService graphDb ) { if( this.sessionFactory == null ) { this.sessionFactory = new org.neo4j.ogm.session.SessionFactory(new org.n

在应用程序中,我们只使用OGM,不使用SpringBoot或相关api,在控制器中,我们使用以下代码

public TopologyExtController( @Context org.neo4j.graphdb.GraphDatabaseService graphDb ) {

if( this.sessionFactory == null )
{
this.sessionFactory = new org.neo4j.ogm.session.SessionFactory(new org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver(graphDb), "com.demo.entity");
}
}
但每次控制器将被请求调用时,此代码也会被调用。
有人能告诉我,每次有请求时调用上述代码是个好主意吗?或者我们应该将SessionFactory对象设为单例?

对不起,我不能告诉您这是个好主意;
说真的,SessionFactory应该只创建一次。初始化时,它会扫描所有包中的节点属性和关系属性,并且每次都会创建嵌入式驱动程序。将其设置为一个单例,以避免额外的性能成本。

感谢您的回答,如果可能,您可以分享任何示例。它只是为SessionFactory创建一个静态字段,在构造函数中初始化一次,检查初始化代码周围的字段是否设置为非空。你需要在构造器中这样做,因为你从数据库中得到了GraphDatabase对象。感谢我们已经做了更改,我想你们应该遵循一些最好的方法来处理这种情况。