如何维护org.neo4j.ogm.session.SessionFactory对象
在应用程序中,我们只使用OGM,不使用SpringBoot或相关api,在控制器中,我们使用以下代码如何维护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
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对象。感谢我们已经做了更改,我想你们应该遵循一些最好的方法来处理这种情况。