मैं जिस नमूना परियोजना के साथ काम कर रहा हूं उसे यहां संलग्न पाया जा सकता है - स्प्रिंग जीरा
यह मेरा विन्यास है
@EnableNeo4jRepositories(basePackages = "com.graph.repository")
public class DBConfig extends Neo4jConfiguration{
@Value("${neo4j.location}")
private String neo4jDatabaseLocation;
@Override
public SessionFactory getSessionFactory() {
return new SessionFactory(getConfiguration(), "com.graph.entity");
}
@Bean
public Configuration getConfiguration() {
Configuration configuration = new Configuration();
configuration.driverConfiguration()
.setDriverClassName("org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver")
.setURI(neo4jDatabaseLocation);
return configuration;
}
@Bean
@Override
public Session getSession() throws Exception {
return getSessionFactory().openSession();
}
}
सार इकाई
public abstract class Entity {
@GraphId
private Long id;
public Long getId() {
return id;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || id == null || getClass() != o.getClass()) return false;
Entity entity = (Entity) o;
if (!id.equals(entity.id)) return false;
return true;
}
@Override
public int hashCode() {
return (id == null) ? -1 : id.hashCode();
}
}
यह मेरी इकाई है
@NodeEntity(label = "Patient")
public class Patient extends Entity {
private String patientId;
private String patientName;
private String otherPatientId;
private String sex;
private String dateOfBirth;
private String patientIdIssuer;
@Relationship(type = "STUDY", direction = Relationship.UNDIRECTED)
private Set<Study> studies;
Getters and Setters...
}
स्टडी में नेस्टेड एंटिटी/रिलेशनशिप है और इसमें एक और नेस्टेड एंटिटी/रिलेशनशिप है। 1:N संबंध
यह मेरा भंडार है
@Repository
public interface PatientRepository extends GraphRepository<Patient> {
}
और यह कॉलिंग विधि है
public class Test() {
@Autowired
private PatientRepository patientRepository;
public void test() {
Patient patient = new Patient();
// set fields
patientRepository.save(patient); -> This is where I get NPE
}
}
स्टैक ट्रेस :
Caused by: java.lang.NullPointerException: null
at org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver.nativeTransaction(EmbeddedDriver.java:180) ~[neo4j-ogm-embedded-driver-2.0.4.jar:na]
at org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver.newTransaction(EmbeddedDriver.java:148) ~[neo4j-ogm-embedded-driver-2.0.4.jar:na]
at org.neo4j.ogm.session.transaction.DefaultTransactionManager.openTransaction(DefaultTransactionManager.java:57) ~[neo4j-ogm-core-2.0.4.jar:na]
at org.neo4j.ogm.session.delegates.TransactionsDelegate.beginTransaction(TransactionsDelegate.java:37) ~[neo4j-ogm-core-2.0.4.jar:na]
at org.neo4j.ogm.session.Neo4jSession.beginTransaction(Neo4jSession.java:441) ~[neo4j-ogm-core-2.0.4.jar:na]
at org.neo4j.ogm.session.request.RequestExecutor.executeSave(RequestExecutor.java:84) ~[neo4j-ogm-core-2.0.4.jar:na]
at org.neo4j.ogm.session.delegates.SaveDelegate.save(SaveDelegate.java:75) ~[neo4j-ogm-core-2.0.4.jar:na]
at org.neo4j.ogm.session.delegates.SaveDelegate.save(SaveDelegate.java:44) ~[neo4j-ogm-core-2.0.4.jar:na]
at org.neo4j.ogm.session.Neo4jSession.save(Neo4jSession.java:425) ~[neo4j-ogm-core-2.0.4.jar:na]
क्या कोई कृपया मुझे बता सकता है कि मैं क्या गलत कर रहा हूँ ??
नोट: मैंने इसे पहले sdn.3.x के साथ GraphDatabaseService के साथ काम किया था
1 उत्तर
ऐसा लगता है कि आपकी Neo4jConfiguration
कक्षा पर केवल @Configuration
एनोटेशन गायब है:
@org.springframework.context.annotation.Configuration
@EnableTransactionManagement
@EnableNeo4jRepositories(basePackages = "com.seyfert.matrix.graph.repository")
public class DBConfig extends Neo4jConfiguration{
...
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।