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 flags@Transactional()@Query(value="...")//after setting the readOnly and native query flags to true@Transactional(readOnly=true)@Query(value="...", nativeQuery=true)