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.
Читайте также:
- Spring Boot: работа с NoSQL, MongoDB
- Spring Boot: работа с NoSQL, Neo4j
- Spring Boot: работа с NoSQL, Neo4j, использование встроенного режима
Комментарии
Отправить комментарий