Ich habe eine Logik, die direkten Zugriff auf den Knoten neo4j benötigt, aber der Rest der App verwendet Spring Data Neo4j (SDN) zur Vereinfachung. Ich dachte, eine Prozedur mit @Procedure zu verwenden, aber ich bin nicht sicher, wie man diese Prozedur benutzt, wenn man den eingebetteten Treiber neo4j und SDN4 benutzt. Meine Konfiguration ist sehr Barebones wie folgt:Bereitstellen einer Prozedur zu Neo4J bei Verwendung des eingebetteten Treibers
@Configuration
@EnableNeo4jRepositories(basePackages = "recommender.repository")
@ComponentScan(basePackages = "recommender")
@EnableTransactionManagement
public class MyNeo4jConfiguration extends Neo4jConfiguration {
@Bean
public SessionFactory getSessionFactory() {
System.out.println("******* GET SESSION FACTORY!!!!");
// with domain entity base package(s)
return new SessionFactory("recommender.model");
}
// needed for session in view in web-applications
@Bean
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public Session getSession() throws Exception {
return super.getSession();
}
Mit einer Eigenschaftendatei hier:
#EmbeddedSetup
driver=org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver
#URI=file:/neo4j/data/graph.db
Mit diesem Setup, wo kann ich die Klasse mit @Procedure und @Context setzen (für den DB-Zugriff), in dem Die SDN-Implementierung hat während der Kriegsbereitstellung Zugriff darauf.
Könnten Sie bitte aus Gründen der Klarheit hinzufügen, woher 'getDatabase()' kommt? –
getDatabase() würde den Datenbankservice zurückgeben, der in den vorhergehenden Zeilen eingerichtet wurde – Luanne