2014-04-10 3 views
0

스프링 데이터 neo4j 프레임 워크에서 neo4j dsl 권장 사항에 대해 알고 싶습니다. 방법은 위의Cypher 쿼리 vs cypher dsl in spring 데이터 neo4j

@Query(value="START root=node:__types__(className='com.data.EntityNode') WHERE root.id={0} and " 
     + "root.type={1} return root") 
T findByIdAndType(String id, String type); 

는 지금까지 내가 생각대로 잘 작동 :
은 지금부터 나는 등 NamedIndexRepositoryGraphRepository에서 연장 저장소 인터페이스를 만들고 아래와 같이 @Query 주석 내 사용자 정의 사이퍼 쿼리 내 사용자 정의 메소드를 작성하는 데 사용 정적 쿼리 하지만 지금 당장 나는 필요에 따라 사이퍼 쿼리를 생성 할 수있는 다른 방법을 사용할 필요가 있습니다! 그때 나는 내 요구 사항에 대한 해결책처럼 보이는 neo4j dsl 라이브러리를 발견했다.
REF : link-1link-2

내 질문은 :

  1. 는 봄의 데이터 neo4j (나는 V2.1.0의 버전을 사용하고 있습니다)에 neo4j dsl lib 디렉토리를 사용하는 OK인가? 또는
  2. 거기에 주어진 상황 집합에 대한 봄 데이터 neo4j에서 동적 사이퍼 쿼리를 생성하는 다른 방법은 무엇입니까? 그리고 더 흥미로운
  3. 그것은 사이퍼 dsl에서 쿼리를 생성하고 내 사용자 정의 저장소 인터페이스에 전달할 수 있습니다, 그들을 실행하고 결과 (나는 의미 @Query 값)? 왜냐하면 그렇다면 기존 설계에 주요 변경 사항을 추가하지 않아도되기 때문입니다.

감사

답변

2
  1. 업데이트 3.0.1.RELEASE
  2. 에 그것은, 주석 컴파일 시간이며, 사이퍼 DSL 당신이 사용할 수없는 런타임이기 때문에 사이퍼 DSL에게
  3. 을 사용하는 것이 확인하지만,
  4. 당신은 CypherDSLRepository에서 당신의 저장소에 좋은 방법들을 추가 할 수 있습니다.
+0

oh thats 좋아, 방금이 링크도 있습니다. http://docs.spring.io/spring-data/data-neo4j/docs/2.3.2.RELEASE/reference/html/programming-model.html#d0e2887 지금 당장입니다. 내 스프링 데이터 neo4j 버전을 3.0.1로 업그레이드 할 수 없습니다. 스프링 버전 3.2.5가 필요합니다. – agpt

+0

은 시간 경과에 따라 기본 설정이 변경 되었습니까? 공식 스프링 데이터 neo4j 참조 (cypher-dsl을 피하기 위해 권장) (http://docs.spring.io/spring-data/data-neo4j/docs/current/reference/html/#_built_in_query_dsl_support)를 찾으십시오. – Mahesha999