0

를 실행하는이 내 구성하는 동안 :Neo4j NullPointerException이 쿼리

@Bean 
public org.neo4j.ogm.config.Configuration getConfiguration() { 
    org.neo4j.ogm.config.Configuration config = new org.neo4j.ogm.config.Configuration(); 
    config.driverConfiguration().setDriverClassName("org.neo4j.ogm.drivers.http.driver.HttpDriver") 
           .setCredentials("neo4j", "neo4j") 
           .setURI("http://localhost:7474"); 
    return config; 
} 

@Override 
public SessionFactory getSessionFactory() { 
    return new SessionFactory(getConfiguration(), "movies.spring.data.neo4j.domain"); 
} 

@Bean 
@Override 
// @Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS) 
public Session getSession() throws Exception { 
    return getSessionFactory().openSession(); 
} 

매번 내가 neo4j의 결과를 얻으려면 그것은 나에게 같이 nullPointerError 조회수 :

Exception in thread "main" java.lang.NullPointerException 
    at org.neo4j.ogm.context.RestModelMapper.mapEntity(RestModelMapper.java:153) 
    at org.neo4j.ogm.context.RestModelMapper.map(RestModelMapper.java:76) 
    at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.query(ExecuteQueriesDelegate.java:94) 
    at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.query(ExecuteQueriesDelegate.java:73) 
    at org.neo4j.ogm.session.Neo4jSession.query(Neo4jSession.java:313) 
    at movies.spring.data.neo4j.controllers.BenchmarkDeleteController.run(BenchmarkDeleteController.java:57) 

지정된 행 (57) 다음과 같습니다.

Result results = neoSession.query("MATCH (n:USER) WHERE n.isBanned={param} RETURN n as user", 
     Collections.<String, Object>singletonMap("param", 1)); 

무엇이 문제 일 수 있습니까? 세션이 널 (null)인지 확인했습니다.

+0

스프링 데이터 neo4j의 버전은 무엇입니까? 이 쿼리는 null을 반환합니까? – Luanne

+0

@Luanne 브라우저에서 실행할 때 쿼리가 17 노드를 반환하고 현재 SDN 4.1.1을 사용하고 있습니다. – kenlz

+0

흠, 작은 데이터 세트 + 테스트 코드를 제공 할 수 있습니까? 무엇이 잘못되었는지 알 수 없습니다. 그렇다면 graphaware dot com의 luanne에게 보내거나 https://github.com/neo4j/neo4j-ogm/issues에서 문제를여십시오. – Luanne

답변

1

결과를 매핑 할 수있는 노드 엔터티가없는 경우 RestModelMapper는 Neo4j-OGM 2.0.1 (SDN 4.1.1이 종속되어 있음)에서 NullPointerException을 발생시킵니다. 이것은 Neo4j에서 수정되었습니다. OGM 2.0.2- https://github.com/neo4j/neo4j-ogm/issues/150

리턴 된 노드가 노드 엔티티 (해당 레이블이 일치해야 함)에 매핑 될 수 있는지 확인한 다음 neo4j-ogm-code 및 드라이버 종속성을 무시하여 2.0.2를 사용하십시오. .