Нужно ли использовать @Repository, когда я использую только JdbcTemplate в своем классе DAO?

Предположим, у меня есть следующий класс Dao:

class MyDao(val em: EntityManager) { fun query() { // since nonExistTable doesn't exist, it will throw an exception val createNativeQuery = em.createNativeQuery("SELECT * FROM nonExistTable"); var e = createNativeQuery.singleResult println(e) } } 

Когда я пытаюсь выполнить запрос, он будет генерировать java.sql.SQLSyntaxErrorException если я аннотирую класс с @Component и org.springframework.dao.InvalidDataAccessResourceUsageException если я аннотирую класс с @Repository .

Но в случае использования JdbcTemplate:

 class MyDao(val jdbcTemplate: JdbcTemplate) { fun query() { jdbcTemplate.execute("SELECT * FROM nonExistTable") } } 

@Component или @Repository больше не имеют значения, они оба производят org.springframework.jdbc.BadSqlGrammarException .

Значит ли это, когда я использую JdbcTemplate , Spring будет обрабатывать перевод исключений, поэтому мне даже не нужно использовать @Repository в моем классе DAO (даже на самом деле лучше использовать @Repository для класса DAO на всякий случай)