How to Enrich DTOs With Virtual Properties Via Spring Projections

In JPA, as a rule of thumb, our queries (SQLs) must extract from the database only the needed data, meaning only the data that it is prone to be modified. When the fetched data is read-only (we don't plan to modify it), then we must strive to fetch it as DTOs instead of JPA entities. 

Starting from this statement, let's consider the following JPA trivial entity: