0fc7dde2c7a0f3afd959ca74ca820c19bc462561
This adds extensions for `as` and `in` and closes #37.
This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
= Spring Data Neo4j⚡️RX :sectanchors: // tag::versions[] :spring-data-neo4j-rx_version: 1.0.0-beta01 :groupId: org.neo4j.springframework.data :artifactId: spring-data-neo4j-rx :artifactIdStarter: spring-data-neo4j-rx-spring-boot-starter :neo4j_version: 4.0.0-alpha09 :spring-boot_version: 2.2.0.M6 // end::versions[] image:https://img.shields.io/maven-central/v/org.neo4j.springframework.data/spring-data-neo4j-rx.svg[Maven Central,link=http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.neo4j.springframework.data%22%20AND%20a%3A%22spring-data-neo4j-rx%22] [abstract] -- Spring Data Neo4j⚡️RX - or in short _SDN/RX_ - is an ongoing effort to create the next generation of Spring Data Neo4j, with full reactive support and lightweight mapping. SDN/RX will work with immutable entities, regardless whether written in Java or Kotlin. -- The primary goal of the https://projects.spring.io/spring-data[Spring Data] project is to make it easier to build Spring-powered applications that use new data access technologies such as non-relational databases, map-reduce frameworks, and cloud based data services. The SDN/RX project aims to provide a familiar and consistent Spring-based programming model for integrating with the https://neo4j.com/[Neo4j] Graph Database. == Manual For a gentle introduction and some getting started guides, please use our link:docs/manual.adoc[Manual]. == Getting Started Here is a quick teaser of a reactive application using Spring Data Repositories in Java, without using Spring Boot. [source,java] ---- @Node public class Person { private Long id; private String name; public Person(String name) { this.name = name; } } @Repository interface PersonRepository extends ReactiveNeo4jRepository<Person, Long> { Flux<Person> findAllByName(String name); Flux<Person> findAllByNameLike(String name); } @Service class MyService { @Autowired private final PersonRepository repository; @Transactional public Flux<Person> doWork() { Person emil = new Person("Emil"); Person gerrit = new Person("Gerrit"); Person michael = new Person("Michael"); // Persist entities and relationships to graph database return repository.saveAll(Flux.just(emil, gerrit, michael)); } } @Configuration @EnableReactiveNeo4jRepositories @EnableTransactionManagement class MyConfiguration extends AbstractReactiveNeo4jConfig { @Bean public Driver driver() { return GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j", "passphrase")); } @Override protected Collection<String> getMappingBasePackages() { return Collections.singletonList(Person.class.getPackage().getName()); } } ---- TIP: SDN/RX is not only about reactive support, all features are available in both ways: Imperative and reactive, we only prefer to showcase the new reactive database access support here. === Maven configuration Add the Maven dependency: [source,xml,subs="verbatim,attributes"] ---- <dependency> <groupId>{groupId}</groupId> <artifactId>{artifactId}</artifactId> <version>{spring-data-neo4j-rx_version}</version> </dependency> ---- Nowadays, people prefer Spring Boot and we got you covered with a starter. Please consult our link:docs/manual.adoc[manual] for more information.
Description
Languages
Java
96.4%
CSS
2.2%
AspectJ
0.8%
HTML
0.4%