私はスプリングデータneo4j 5.0.0を使用しています。スプリングデータneo4j:EndNode IDでのカウントの関係
私のモデルは(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
方法 自動作成クエリで実行し、私はid(m)
が、生成されたクエリがm.`id'
で期待
です。
私はcountByRelationShipEntityIdを作成できますか?
どうすればこのようなコードを自動生成できますか?
MATCH()-[r:ATTEND]-(m:Meeting) WHERE ID(m) = {0} RETURN COUNT (r)
ご迷惑をおかけして申し訳ありません。
を作成しました: たちは、クエリを設けることなく、現時点で提供できる唯一の解決策は
countByMeetingName(String meetingName)
編集などの関連オブジェクトのプロパティによってカウントですhttps://jira.spring.io/browse/DATAGRAPH/
で問題を作成すること自由に感じなさい現時点ではカスタムクエリを使用しないとこれを実現することはできません。なぜなら、マッピングでは、それが他のすべてのプロパティと同様にプロパティであると仮定しているからです'id'を使わなければならないというユースケースは何ですか?多分あなたの問題のための別の解決策があります。 – meistermeier
クエリは簡単な方法ですが、文字列は管理には適していないことがわかります。私はIDと会って関係を数えています。クエリなしでリレーションカウントを見つけるにはどうすればいいですか? – reperion
IDはどこから来たのですか?おそらく、最初のクエリでカウントをクエリし、QueryResult(https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#reference_programming-model_mapresult)のパラメータとして使用することができます。 – meistermeier