0

私は春のneo4jを使用しています。repositoryを拡張するクラスがありますGraphRepository<T>uid以下のメソッドの引数に基づいて、特定のオブジェクトを削除したいと考えています。

public interface TypeRepository extends GraphRepository<Type> {

    @Query("START n=node:node_auto_index(uid=uidValueYAA)" +
                "MATCH n-[r]-()" +
                "DELETE n, r")
    public void deleteByUid(String uidValueYAA);
}

注: 永続化されたクラスには、次のようなインデックス アノテーションがあります。

@GraphId
private Long id;
@Indexed(unique=true) private String uid;

メソッドを次のように使用すると、次の例外が発生します。

typeRepository.deleteByUid(uid);

//The Exception
string literal or parameter expected|"START n=node:node_auto_index(uid=uidValueYAA)MATCH n-[r]-()DELETE n, r"|     

uidメソッドに渡す に基づいて、メソッドを使用して特定のノードを削除するにはどうすればよいですか?

4

2 に答える 2

1

以下に示すように、名前の代わりに {0} を使用する必要があります

@Query("START n=node:node_auto_index(uid={0})" +
                "MATCH n-[r]-()" +
                "DELETE n, r")
public void deleteByUid(String uidValueYAA);
于 2013-09-19T20:06:46.060 に答える