как исправить UnsatisfiedDependencyException в Spring Framework Когда используется @Query - PullRequest
0 голосов
/ 24 октября 2019

Я создал WEB-сервисы с использованием springboot, я использовал простой метод JpaRepository, например .findAll (), и все работало нормально. Когда я попытался использовать @Request - JPQL SQL-запроса, возникла проблема.

Я попробовал один простой запрос @Query ("ВЫБРАТЬ содержимое ИЗ qcm.tabledeteste t, где t.id =? 1")

Это был простой пример, но моей настоящей целью было обновить данные

в DAO ...

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
@Repository
public interface TesterDao extends  JpaRepository<Tester, String> { 
    @Query("SELECT content FROM autosv.tester t where t.id = ?1")
    String  testerQuery(String id); 
}

в имени контроллера: TesterController ....

TesterDao tDao;
@GetMapping(value = "/testerQuery")
    public String  testerQuery() {
        String t = tDao.testerQuery("7");       
        return t;
}

...

 org.springframework.beans.factory.UnsatisfiedDependencyException: Error
 creating bean with name 'TesterController': Unsatisfied dependency expressed
 through field 'tDao'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean
 with name 'TesterDao': Invocation of init method failed; nested exception is
 java.lang.IllegalArgumentException: Validation failed for query for method 

public abstract java.lang.String 

com.example.qcm.qcm.dao.TabledetesteDao.getTabledetestQuery(java.lang.String)


!

......

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: is not mapped

1 Ответ

0 голосов
/ 25 октября 2019

Используйте в своем запросе имя класса Tester вместо autosv.tester.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...