cacheable=true named query: puts after 1st run = 1, cache hits after 2nd run = 1 Employee.byNativeDto(ACTIVE): [EmployeeDto{id=1, firstName=Native1}] JPQL constructor expression into a record: [EmployeeRecordDto[id=3, firstName=RecordTest]] Employee.findByName(Ankur): 1 rows getSingleResultOrNull() on zero rows returned: null getSingleResult() on zero rows threw: jakarta.persistence.NoResultException: No result found for query [SELECT e FROM NqEmployee e WHERE e.firstName = :n]