2017-11-06 2 views
0

私はスプリングデータ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)

ご迷惑をおかけして申し訳ありません。

+0

を作成しました: たちは、クエリを設けることなく、現時点で提供できる唯一の解決策はcountByMeetingName(String meetingName)

編集などの関連オブジェクトのプロパティによってカウントですhttps://jira.spring.io/browse/DATAGRAPH/

で問題を作成すること自由に感じなさい現時点ではカスタムクエリを使用しないとこれを実現することはできません。なぜなら、マッピングでは、それが他のすべてのプロパティと同様にプロパティであると仮定しているからです'id'を使わなければならないというユースケースは何ですか?多分あなたの問題のための別の解決策があります。 – meistermeier

+0

クエリは簡単な方法ですが、文字列は管理には適していないことがわかります。私はIDと会って関係を数えています。クエリなしでリレーションカウントを見つけるにはどうすればいいですか? – reperion

+0

IDはどこから来たのですか?おそらく、最初のクエリでカウントをクエリし、QueryResult(https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#reference_programming-model_mapresult)のパラメータとして使用することができます。 – meistermeier

答えて

1

現在、(SDN 5.0.1)特定のオブジェクトにカウントする可能性はありません。 countByMeeting(Meeting meeting)またはSDNが特殊なプロパティとしてIDを処理させる。問題は、それがあるhttps://jira.spring.io/browse/DATAGRAPH-1049

+0

ご回答有難うございます。 – reperion

関連する問題