私は、JPAリポジトリを使用した簡単なバネ・ブート・プロジェクトを使用して、スプリング・セキュリティとLOGイベントを格納するためのUSERおよびAUTHORITIES情報を格納します。プロジェクトは正常に動作しています。今、私はneo4jを含む特別な機能を追加したいと思います。私はspring-data-neo4jをプロジェクトに追加し、neo4jの設定を作成しました。私は取得していたアプリケーションを実行するとバネデータjpa + springデータneo4jの混合。 userservice
@EnableTransactionManagement
@EnableScheduling
@Configuration
@EnableNeo4jRepositories(basePackages = "com.mycompany.analytics.graph.repository")
public class Neo4jConfig extends Neo4jConfiguration {
public static final String URL = System.getenv("NEO4J_URL") != null ? System.getenv("NEO4J_URL") : "http://neo4j:[email protected]:7474";
@Bean
public org.neo4j.ogm.config.Configuration getConfiguration() {
org.neo4j.ogm.config.Configuration config = new org.neo4j.ogm.config.Configuration();
config
.driverConfiguration()
.setDriverClassName("org.neo4j.ogm.drivers.http.driver.HttpDriver")
.setURI(URL);
return config;
}
@Override
public SessionFactory getSessionFactory() {
return new SessionFactory(getConfiguration(), "com.mycompany.analytics.graph.repository");
}
}
は、以前私は、リレーショナルデータベースに格納するユーザー情報UserServiceのイムで
/**
* Spring Data JPA repository for the User entity.
*/
public interface UserRepository extends JpaRepository<User, Long> {
Optional<User> findOneByActivationKey(String activationKey);
List<User> findAllByActivatedIsFalseAndCreatedDateBefore(ZonedDateTime dateTime);
Optional<User> findOneByResetKey(String resetKey);
Optional<User> findOneByEmail(String email);
Optional<User> findOneByLogin(String login);
Optional<User> findOneById(Long userId);
@Override
void delete(User t);
}
に私のユーザーリポジトリは、リポジトリに
@Service
@Transactional
public class UserService {
....
@Inject
private UserRepository userRepository;
....
を注入していたし、ユーザーリポジトリがJPAリポジトリでNeo4jデータベースを使用しようとしているため、エラーが発生しました。
spring-data-neo4jを既存のJPAインフラストラクチャに影響を与えずに統合するオプションはありますか? Spring Data Commonsため
おかげ
StackOverflowに加えて、Neo4jコミュニティはSlack Channelをホストします。参加を強くお勧めします。詳細:https://neo4j.com/blog/public-neo4j-users-slack-group/ –