Spring Boot: работа с NoSQL, Neo4j, Spring Data Neo4j репозитории

Использование нативных типов

Neo4j-OGM может отображать некоторые типы, такие как типы в java.time.*, на свойства на основе строк или на один из собственных типов, предоставляемых Neo4j. По причинам обратной совместимости по умолчанию для Neo4j-OGM используется представление на основе строк. Чтобы использовать собственные типы, добавьте зависимость либо org.neo4j:neo4j-ogm-bolt-native-types, либо org.neo4j:neo4j-ogm-embedded-native-types и настройте spring.data.neo4j.use-native-types свойство, как показано в следующем примере:

spring.data.neo4j.use-native-types=true

Neo4jSession

По умолчанию, если вы запускаете веб-приложение, сессия привязывается к потоку для всей обработки запроса (то есть он использует шаблон "Open Session in View"). Если вам не нужно это поведение, добавьте следующую строку в файл application.properties:

spring.data.neo4j.open-in-view=false

Spring Data Neo4j репозитории

Spring Data включает поддержку репозитория для Neo4j.

Spring Data Neo4j разделяет общую инфраструктуру с Spring Data JPA, как и многие другие модули Spring Data. Вы можете взять пример JPA и определить City как Neo4j OGM @NodeEntity, а не JPA @Entity, и абстракция репозитория работает таким же образом, как показано в следующем примере:

package com.example.myapp.domain;

import java.util.Optional;

import org.springframework.data.neo4j.repository.*;

public interface CityRepository extends Neo4jRepository<City, Long> {

    Optional<City> findOneByNameAndState(String name, String state);

}

spring-boot-starter-data-neo4j стартер обеспечивает поддержку репозиториев, а также управление транзакциями. Вы можете настроить расположения для поиска репозиториев и сущностей, используя @EnableNeo4jRepositories и @EntityScan соответственно в компоненте @Configuration.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки