Skip to content

Commit

Permalink
Allow for a module specific inclusion for DTO projections.
Browse files Browse the repository at this point in the history
  • Loading branch information
schauder authored and mp911de committed Jun 17, 2021
1 parent b469b5d commit 1d9fc49
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/main/asciidoc/repository-projections.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ interface PersonRepository extends Repository<Person, UUID> {
====

Now imagine that we want to retrieve the person's name attributes only.
What means does Spring Data offer to achieve this? The rest of this chapter answers that question.
What means does Spring Data offer to achieve this?The rest of this chapter answers that question.

[[projections.interfaces]]
== Interface-based Projections
Expand Down Expand Up @@ -264,17 +264,22 @@ class NamesOnly {
You can dramatically simplify the code for a DTO by using https://projectlombok.org[Project Lombok], which provides an `@Value` annotation (not to be confused with Spring's `@Value` annotation shown in the earlier interface examples).
If you use Project Lombok's `@Value` annotation, the sample DTO shown earlier would become the following:
[source, java]
[source,java]
----
@Value
class NamesOnly {
String firstname, lastname;
}
----
Fields are `private final` by default, and the class exposes a constructor that takes all fields and automatically gets `equals(…)` and `hashCode()` methods implemented.
====

ifdef::repository-projections-dto-limitations-file[]
include::{repository-projections-dto-limitations-file}[]
endif::[]

[[projection.dynamic]]
== Dynamic Projections

Expand All @@ -284,7 +289,7 @@ To apply dynamic projections, use a query method such as the one shown in the fo

.A repository using a dynamic projection parameter
====
[source, java, subs="+attributes"]
[source,java,subs="+attributes"]
----
interface PersonRepository extends Repository<Person, UUID> {
Expand Down

0 comments on commit 1d9fc49

Please sign in to comment.