Spring数据neo4j:计数关系By EndNode ID

时间:2017-11-06 07:55:22

标签: java neo4j spring-data-neo4j

我正在使用弹簧数据neo4j 5.0.0。

我的模型是(user)-[:ATTEND]-(meeting)ATTEND是RelationshipEntity 用户有参与关系,会议没有关系。

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

RelationshipEntity代码。

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

所以我只是想通过meetingId参加计数。

没有查询可以吗?

当我运行repository.countByMeetingId方法时 自动创建查询

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

我希望id(m)但生成的查询为m.`id'

我可以制作countByRelationShipEntityId吗? 如何自动生成这样的代码。
MATCH ()-[r:ATTEND]-(m:Meeting) WHERE ID(m) = {0} RETURN COUNT (r)

感谢您的回答并抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

目前(SDN 5.0.1)无法依靠给定对象,例如countByMeeting(Meeting meeting)或让SDN将id作为特殊属性处理。 请随时在https://jira.spring.io/browse/DATAGRAPH/

创建问题

我们现在可以提供的唯一解决方案是在不提供查询的情况下按相关对象属性计算,例如countByMeetingName(String meetingName)

修改:问题已创建https://jira.spring.io/browse/DATAGRAPH-1049