Reorder documentation of class-based projection support for JPA Native Queries.

Closes #3599
This commit is contained in:
Mark Paluch
2024-08-29 10:07:39 +02:00
parent 074bfecb11
commit e55de1a84a

View File

@@ -1,9 +1,17 @@
[[jpa.projections]]
= Projections
include::{commons}@data-commons::page$repositories/projections.adoc[leveloffset=+1]
:projection-collection: Collection
include::{commons}@data-commons::page$repositories/projections-intro.adoc[]
NOTE: It is important to note that <<projections.dtos,Class-based projections>> with JPQL is limited to *constructor expressions* in your JPQL expression, e.g. `SELECT new com.example.NamesOnly(u.firstname, u.lastname) from User u`.
(Note the usage of a FQDN for the DTO type!) This JPQL expression can be used in `@Query` annotations as well where you define any named queries.
And it's important to point out that class-based projections do not work with native queries AT ALL.
As a workaround you may use named queries with `ResultSetMapping` or the Hibernate-specific javadoc:{hibernatejavadocurl}org.hibernate.query.ResultListTransformer[]
include::{commons}@data-commons::page$repositories/projections-interface.adoc[leveloffset=1]
include::{commons}@data-commons::page$repositories/projections-class.adoc[leveloffset=1]