You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<1> A `Product` entity that exposes API to access the product's price.
565
565
<2> A wrapper type for a `Streamable<Product>` that can be constructed by using `Products.of(…)` (factory method created with the Lombok annotation).
566
566
<3> The wrapper type exposes an additional API, calculating new values on the `Streamable<Product>`.
567
-
<4> That wrapper type can be used as a query method return type directly. You need not return `Stremable<Product>` and manually wrap it in the repository client.
567
+
<4> That wrapper type can be used as a query method return type directly. You need not return `Streamable<Product>` and manually wrap it in the repository client.
568
568
====
569
569
570
570
[[repositories.collections-and-iterables.vavr]]
@@ -605,7 +605,7 @@ See "`<<repository-query-return-types>>`" for details.
605
605
You can express nullability constraints for repository methods by using {spring-framework-docs}/core.html#null-safety[Spring Framework's nullability annotations].
606
606
They provide a tooling-friendly approach and opt-in `null` checks during runtime, as follows:
607
607
608
-
* {spring-framework-javadoc}/org/springframework/lang/NonNullApi.html[`@NonNullApi`]: Used on the package level to declare that the default behavior for parameters and return values is to not accept or produce `null` values.
608
+
* {spring-framework-javadoc}/org/springframework/lang/NonNullApi.html[`@NonNullApi`]: Used on the package level to declare that the default behavior for parameters and return values is, respectively, neither to accept nor to produce `null` values.
609
609
* {spring-framework-javadoc}/org/springframework/lang/NonNull.html[`@NonNull`]: Used on a parameter or return value that must not be `null` (not needed on a parameter and return value where `@NonNullApi` applies).
610
610
* {spring-framework-javadoc}/org/springframework/lang/Nullable.html[`@Nullable`]: Used on a parameter or return value that can be `null`.
611
611
@@ -624,7 +624,7 @@ package com.acme;
624
624
Once non-null defaulting is in place, repository query method invocations get validated at runtime for nullability constraints.
625
625
If a query result violates the defined constraint, an exception is thrown. This happens when the method would return `null` but is declared as non-nullable (the default with the annotation defined on the package in which the repository resides).
626
626
If you want to opt-in to nullable results again, selectively use `@Nullable` on individual methods.
627
-
Using the result wrapper types mentioned at the start of this section continues to work as expected: An empty result is translated into the value that represents absence.
627
+
Using the result wrapper types mentioned at the start of this section continues to work as expected: an empty result is translated into the value that represents absence.
628
628
629
629
The following example shows a number of the techniques just described:
You can process the results of query methods incrementally by using a Java 8 `Stream<T>` as the return type. Instead of wrapping the query results in a `Stream` data store-specific methods are used to perform the streaming, as shown in the following example:
680
+
You can process the results of query methods incrementally by using a Java 8 `Stream<T>` as the return type. Instead of wrapping the query results in a `Stream`, data store-specific methods are used to perform the streaming, as shown in the following example:
681
681
682
682
.Stream the result of a query with Java 8 `Stream<T>`
0 commit comments