Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What’s new in Spring Data ? 1 / olivergierke Oliver Gierke
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Data Hopper / Ingalls 3
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Infrastructure prerequisites 4
4.2 • Upgrade to Querydsl 4 • Support for Hibernate 5 and MongoDB Java driver 3.0 (Gosling) • Major upgrades for some store modules • Spring Data Neo4j 4.1 (on Neo4j OGM 2.0) • Spring Data Couchbase 2.1 (requiring Couchbase 2.2) • Spring Data Solr 2.0 (requiring Solr 5.5) • Spring Data Elasticsearch 2.0 (requiring Elasticsearch 2.2) • Release train BOM • Refer to Spring Data modules in matching versions, e.g. Gosling-SR4 8
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ DEMO Java 8 Stream and CompletableFuture support 10
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ DEMO Projections on repository methods 11
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ DEMO Querydsl web support 13
• Stream as repository return type • Leverages persistence provider specific API in JPA • Non-time-zoned JSR-310 types, ThreeTen back-port • Query-by-example for for simple matching scenarios • Projections on repository methods with adaptive querye execution optimizations 14
MongoDB. • EvaluationContextProvider -> SPI for custom extension • Spring Security support for MongoDB • MongoDB Java driver 3.0 compatibility • Support for Java 8 Stream as query method return type • Support for calling JavaScript functions • Support for GeoJSON 16
link titles • RepositoryEntityLinks to create links to search resources • Support for @Version -> ETag & conditional GETs and PUTs • @LastModifiedDate -> Last-Modified header • Improved JSON Schema support • HAL Browser • Custom POST form using the schema and JSON Editor • PagedResourcesAssembler exposes first and last links 18
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ DEMO Redis repositories 20
mapping • Spring Data Cassandra to become a core module • Upgrade to Cassandra 3.0 • $max / $min support for MongoDB • Support for inbound projections using JSONPath / XPath (via XMLBeam) • Incremental updates in Redis repositories 22
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ DEMO JSONPath and XPath binding 23
Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ DEMO Reactive repositories with MongoDB 27
post • Slides – Speakerdeck • Spring Data examples – Repository @ GitHub • Spring Data wiki (Release trains, planning) – Wiki • Spring projects release calendar – Subscribable calendar • NEW: Find us on Gitter! 30