0

たとえば、ユーザーAとユーザーBの間に関係を作成し、MakeFriendという名前のRelationshipEntityを持っている場合、以下のコードを使用しますが、role=10のようないくつかのプロパティ値を関係エンティティに設定したいと思います。 ..

userRepository.createRelationshipBetween(startUser, endUser, MakeFriend.class, RelTypes.FRIEND.name());

@RelationshipEntity
public class MakeFriend {
    @GraphId
    private Long id;
    private String role;
    @StartNode
    private UserEntity startUser;
    @EndNode
    private UserEntity endUser


@NodeEntity
public class UserEntity implements Serializable {

    private static final long serialVersionUID = 1L;
    public static final String FRIEND = "FRIEND";
    public static final String JOYNED = "JOYNED";
    @GraphId
    private Long id;
    @Indexed(unique = true)
    private Long userId;
    private String email;
4

1 に答える 1

3

UserEntityクラスに次を追加できます。

@RelatedToVia(type = RelTypes.FRIEND, direction = Direction.BOTH)
private MakeFriend friend;

friend.setRole("yourRole");

高度なマッピングモードを使用している場合、これを行う別の方法は、 NodeBacked.relateTo()メソッドの1つを使用することです。次に、返されたリレーションシップにプロパティを追加します。

そして3番目の方法は、Neo4jTemplate.createRelationshipBetween()メソッドを使用し、最後の引数としてプロパティ(ロールなど)を提供することです。

于 2013-03-26T12:49:04.693 に答える