Java Spring数据neo4j:按EndNode ID的计数关系
我使用的是弹簧数据NEO4J5.0.0 我的模型是一个Java Spring数据neo4j:按EndNode ID的计数关系,java,neo4j,spring-data-neo4j,Java,Neo4j,Spring Data Neo4j,我使用的是弹簧数据NEO4J5.0.0 我的模型是一个(用户)-[:出席]-(会议),而出席是一个关系实体。 用户有出席关系,会议没有关系 @Relationship(type = "ATTEND") Set<AttendMeeting> attendMeetings = new HashSet<>(); 所以我只是想参加伯爵会议 这是没有疑问的吗 当我在repository.countByMeetingId方法上运行时 自动创建查询不可用 MATCH(m:`Meeti
(用户)-[:出席]-(会议)
,而出席
是一个关系实体。用户有出席关系,会议没有关系
@Relationship(type = "ATTEND")
Set<AttendMeeting> attendMeetings = new HashSet<>();
所以我只是想参加伯爵会议
这是没有疑问的吗
当我在repository.countByMeetingId
方法上运行时
自动创建查询不可用
MATCH(m:`Meeting`),其中m.id`={`Meeting\u id\u 0`}匹配(n)-[r0:`atteent`]->(m)返回计数(r0)
我期望id(m)
,但生成的查询是m.`id'
我可以通过RelationshipEntityId进行计数吗?如何自动生成这样的代码。
MATCH()-[r:attribute]-(m:Meeting)其中ID(m)={0}返回计数(r)
感谢您的回答,我的英语很差,对此表示歉意。目前(SDN 5.0.1)不可能依赖给定的对象,例如countByMeeting(Meeting Meeting)
或让SDN将id作为特殊属性处理。
请随时在以下位置创建问题:
目前,我们可以提供的唯一解决方案是不提供查询的按相关对象属性计数,如countByMeetingName(String meetingName)
编辑:Issue created如果没有自定义查询,当前无法实现这一点,因为映射假定它与其他属性类似。您必须使用
id
的用例是什么?也许还有另一种解决方法。查询是一种简单的方法,但您知道字符串对管理不好。我只是通过会议Id计算关系。我如何在没有查询的情况下找到关系计数Id来自何处?也许您可以使用初始查询查询计数,并将其用作QueryResult()的参数。改型会有参加关系更好吗?或者做两个关系,比如参加,参加。
@Setter @Getter @ToString
@NoArgsConstructor
@RelationshipEntity(type = "ATTEND")
public class AttendMeeting {
@GraphId private Long id;
@JsonIgnore
@StartNode private User user;
@EndNode private Meeting meeting;
}