ユーザーとアカウントのような 2 つのエンティティがあります。20 の関係のいずれかを持つアカウント ノードに関連するユーザー ノード。添付のサンプル画像デザインをご覧ください
20 の関係のいずれかを使用して、対応するユーザーのアカウントを検索する必要があります。ユーザーの詳細とアカウントを取得するためにサイファークエリを使用しました.2つのエンティティ間の関係は、20の関係のいずれかになります。そのため、 @RelationshipEntity 型の値に注釈を付けることができません。たとえば User.java のコードを見つけてください
public class User
{
private Long id;
String fulltextsearch;
String user_id;
String status;
@Relationship(type = "perm")
List<Acronym> acronym;
.....
...
}
頭字語.java
@JsonIdentityInfo(generator=JSOGGenerator.class)
@RelationshipEntity
public class Acronym {
@GraphId
Long id;
String acronym;
@StartNode
private User user;
@EndNode
private Account account;
....
....
}
ユーザーリポジトリ.java
@RepositoryRestResource(collectionResourceRel = "User", path = "User")
public interface Userrepository extends GraphRepository<User> {
User findByLogin(@Param("login") String login);
@Query("MATCH p=(user:User)-[r*0..1]->(account) WHERE user.login =~('(?i).*'+{Login}+'.*') RETURN p")
Collection<User> findByloginContaining(@Param("login") String login);
}
関係ごとにオブジェクトを作成しようとしました(つまり、20の関係オブジェクト)。値を取得する正しい方法かどうかはわかりません。アカウントに対する関係を取得する方法を教えてください。常に null として取得されます。
前もって感謝します。