To allow your query methods to be transactional, you should use @Transactional at the repository interface that you define. For reading operations, the transaction configuration readOnly flag should be set to true and in order to execute native queries, the @Query annotation parameter, nativeQuery flag, should be set to true, as you will see in the snippet of code below:
//before using the readOnly and nativeQuery [email protected]()@Query(value="...")//after setting the readOnly and native query flags to [email protected](readOnly=true)@Query(value="...", nativeQuery=true)