我正在使用弹簧数据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)
感谢您的回答并抱歉我的英语不好。
答案 0 :(得分:1)
目前(SDN 5.0.1)无法依靠给定对象,例如countByMeeting(Meeting meeting)
或让SDN将id作为特殊属性处理。
请随时在https://jira.spring.io/browse/DATAGRAPH/
我们现在可以提供的唯一解决方案是在不提供查询的情况下按相关对象属性计算,例如countByMeetingName(String meetingName)