Search code examples
neo4jneo4j-ogm

NullPointerException while loading data from Neo4j database with OGM driver


I am using Neo4j OGM 2.0.4 driver with Java (embedded driver). When I do save(item) on session everything looks all right. Hovewer when I want to load items from database I get this exception:

16:01:23.182 [main] INFO  org.neo4j.ogm.service.DriverService - Using driver: org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver
16:01:24.768 [main] DEBUG org.neo4j.ogm.service.Components - Setting driver to: org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver
16:01:24.782 [main] WARN  org.neo4j.ogm.session.Neo4jSession - Thread 1: neo4jCMS.entity.Author is not an instance of a persistable class
16:01:24.782 [main] WARN  org.neo4j.ogm.session.Neo4jSession - Thread 1: neo4jCMS.entity.Author is not an instance of a persistable class
Saved
Exception in thread "main" java.lang.NullPointerException
    at org.neo4j.ogm.MetaData.entityType(MetaData.java:280)
    at org.neo4j.ogm.session.Neo4jSession.entityType(Neo4jSession.java:486)
    at org.neo4j.ogm.session.delegates.LoadByTypeDelegate.loadAll(LoadByTypeDelegate.java:60)
    at org.neo4j.ogm.session.delegates.LoadByTypeDelegate.loadAll(LoadByTypeDelegate.java:108)
    at org.neo4j.ogm.session.Neo4jSession.loadAll(Neo4jSession.java:152)
    at neo4jCMS.TestSite.run(TestSite.java:35)
    at neo4jCMS.Application.main(Application.java:20)

While executing:

Author author1 = new Author("Author no 1");
Author author2 = new Author("Author no 2");

session.save(author1);
session.save(author2);
System.out.println("Saved");

Iterable<Author> authors = session.loadAll(Author.class);
for (Author author : authors)
{
  System.out.println("Author: " + author.getName());
}

My node class is:

@NodeEntity
public class Author
{
  @GraphId
  private Long id;
  private String _name;

  public Author() { _name = "";}

  public Author(String name)
  {
    _name = name;
  }

  public String getName()
  {
    return _name;
  }
}

Solution

  • The issue was in configuration. new SessionFactory() was without argument "myProject.subDirectory". After adding that it works.