2017-11-06 7 views
0

스프링 데이터 neo4j 5.0.0을 사용하고 있습니다.스프링 데이터 neo4j : EndNode ID로 카운트 관계

내 모델의 모델은 (user)-[:ATTEND]-(meeting)이고 ATTEND은 RelationshipEntity입니다.
사용자가 참석 관계를 가지고 있지만 모임에 관계가 없습니다.

@Relationship(type = "ATTEND") 
Set<AttendMeeting> attendMeetings = new HashSet<>(); 

RelationshipEntity code.

@Setter @Getter @ToString 
@NoArgsConstructor 
@RelationshipEntity(type = "ATTEND") 
public class AttendMeeting { 
    @GraphId private Long id; 
    @JsonIgnore 
    @StartNode private User user; 
    @EndNode private Meeting meeting; 
} 

그래서 wannna 만 meetingId에서 참석합니다.

검색어없이 가능합니까?

내가 repository.countByMeetingId 방법 자동 생성 쿼리를 실행

내가 id(m)을 기대하지만, 생성 된 쿼리가 m.`id'입니다

MATCH (m:`Meeting`) WHERE m.`id` = { `meeting_id_0` } MATCH (n)-[r0:`ATTEND`]->(m) RETURN COUNT(r0)

입니다.

countByRelationShipEntityId를 만들 수 있습니까?
어떻게 이런 코드를 자동으로 생성 할 수 있습니까?
MATCH()-[r:ATTEND]-(m:Meeting) WHERE ID(m) = {0} RETURN COUNT (r)

내 가난한 영어에 대한 답변과 죄송합니다.

+0

입니다 만든 : https://jira.spring.io/browse/DATAGRAPH/

우리가 쿼리를 제공하지 않고 순간에 제공 할 수있는 유일한 해결책으로 문제를 만들어 주시기 바랍니다 것은 countByMeetingName(String meetingName)

편집 등의 관련 객체 속성에 의해 수입니다 현재 매핑이 다른 모든 속성과 동일하다고 가정하기 때문에 사용자 지정 쿼리 없이는이 작업을 수행 할 수 없습니다. 'id '를 사용해야하는 유스 케이스는 무엇입니까? 어쩌면 당신의 문제에 대한 또 다른 해결책이있을 것입니다. – meistermeier

+0

쿼리는 간단한 방법이지만 문자열은 관리에 좋지 않음을 알고 있습니다. 나는 단지 이드를 만나는 관계를 세고있다. 쿼리없이 관계 수를 어떻게 찾을 수 있습니까? – reperion

+0

ID는 어디에서 왔습니까? 어쩌면 초기 쿼리로 카운트를 쿼리하여 QueryResult (https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#reference_programming-model_mapresult)의 매개 변수로 사용할 수 있습니다. – meistermeier

답변