JpaSqlResultMapper instead of Constructor Expression

The previously mentioned JpaSqlResultMapper can also used as a replacement of the JPA Constructor Expression.

Example:


Query q = em.createQuery("SELECT c.id, c.type, c.euroExchangeRate FROM Closing c");

List list = JpaSqlResultMapper.list(q, ClosingRecord.class);

The advantage of this approach is, that you don’t have to worry when you are moving ClosingRecord to another package because the full qualified class name is not mentioned in the JPQL query.
So it’s more refactoring friendly.