Neo4j 확장 프로그램을 만들었습니다. 내 자신의 TransactionEventHandler
이 포함되어 있습니다. 경우에 따라 beforeCommit()
메서드를 실행하면 UniquePropertyConstraintViolationKernelException
이됩니다. 괜찮아. 하지만 서버 쪽에서 나는 ResultProcessingException
을받습니다. 이 예외는 너무 일반화 된 것처럼 보입니다. 제 생각에는 제약 조건 위반의 경우뿐만 아니라 많은 이유로 던져 질 수 있습니다. 그래서, 내 질문에 어떻게 서버 측 제약 조건 위반을 처리해야합니까? 나는 SDN4를 사용한다.SDN4에서 고유 제약 조건 위반을 올바르게 처리하는 방법은 무엇입니까?
편집 1 : 모든 neo4j - ogm- * 버전 2.0.3
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-core</artifactId>
<version>2.0.3</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-http-driver</artifactId>
<version>2.0.3</version>
</dependency>
</dependencies>
</dependencyManagement>
네, 맞습니다. 4.1.1로 SDN을 업데이트 한 후 CypherException을 수신합니다. 설명에 "TransactionFailureException : Cypher Transaction.CouldNotCommit 실행 중 오류"와 같은 메시지가 있습니다. 하지만 문제의 유형을 어떻게 이해할 수 있는지는 여전히 불분명합니다. TransactionEventHandler.beforeCommit() 내부에서 명확한 설명과 함께 'ConstraintViolationException'을 수신합니다. 하지만 서버 쪽에서는 아무 것도 볼 수 없습니다. –
편집 내 대답 – Luanne
고마워! 그러나 그러한 구성은 다른 문제를 야기합니다. 당신이 말한 것처럼'neo4j-ogm-core'와'neo4j-ogm-http-driver'의 버전을 대체했습니다. 그리고'neo4jOperations.query ("CREATE CONSTRAINT ON (n : Event) ASSERT n.uniqueId가 유일한 것", Collections.emptyMap())을 호출하려고하면 다음과 같은 설명이있는'NoSuchMethodError'가 수신됩니다 : "HttpClientBuilder.setSSLContext (SSLContext) ". 전에 일하고 있었어. –