こんにちはすべて私はコードを介してneo4jデータベースのインデックスを追加しようとしています。 は、私はこのような私のコンフィギュレーションクラスの設定:スプリングデータneo4jのインデックスを追加すると動作しません
@Configuration
public class CreateIndex {
@Bean
public org.neo4j.ogm.config.Configuration configuration() {
org.neo4j.ogm.config.Configuration configuration = new
org.neo4j.ogm.config.Configuration();
configuration.autoIndexConfiguration()
.setAutoIndex(AutoIndexMode.ASSERT.getName());
configuration.driverConfiguration().setDriverClassName
("org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver");
return configuration;
}
@Bean
public SessionFactory sessionFactory() {
return new SessionFactory(configuration(), "com.domain");
}
}
を持っていると私は@Indexアノテーションを追加ところ、私は私のドメインクラスを持っています。
@NodeEntity
@Getter
@NoArgsConstructor
@Component
public class Movie {
@GraphId
private Long id;
@Index(unique = true)
private String movieId;
}
と私は私が私のインデックスのクエリは
n.o.d.e.request.EmbeddedRequest : Request: CALL db.constraints() with params {}
2017-11-02 16:30:11.780 INFO 40073 --- [ main] o.n.o.d.e.request.EmbeddedRequest : Request: CALL db.indexes() with params {}
2017-11-02 16:30:11.789 INFO 40073 --- [ main] o.n.o.d.e.request.EmbeddedRequest : Request: CREATE INDEX ON :MOVIE(movieId) with params {}
を実行されている。しかし、私は、インデックスが存在するかどうかを確認しようとすることがわかり、私のログに
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-neo4j</artifactId>
<version>1.4.0.RELEASE</version>
</dependency>
としての私の依存関係を持っています何も返さない:schema
を使用することではありません。
NEO4JTemplateを使用してクエリを実行しようとしていましたが、開始時にクエリを実行する方法を知っています。例えば
私は、アプリケーションの起動時にコードによってインデックスクエリを追加したい
CREATE INDEX ON :MOVIE(movieId)
これは私が手動で追加した場合に動作しますが、どのようにコンフィギュレーション・クラスに追加します。
ありがとうございます。