2015-05-14 2 views
-1

Я пытаюсь вызвать хранимую процедуру в вызове MySQL: «searchContext».вызов хранимой процедуры JPA 2.1 репозиторий с весной

Я попытался решение: here и here

Но как я могу получить ссылку EntityManager? Если я использую JPA Хранилища, как это:

public interface ActiveContextRepository extends JpaRepository<ActiveContext, Long> { 
    ActiveContext findByIdUser(Integer idUser);  
} 

я получил нулевой указатель, когда я использую EntityManager так:

public class ContextService { 
    @PersistenceContext 
    protected EntityManager entityManager; 

    public EntityManager getEntityManager() { 
     return entityManager; 
    } 

    public Integer getContext(Integer idUser, String date, Double longitude, Double latitude){ 
      StoredProcedureQuery storedProcedure = entityManager.createStoredProcedureQuery("searchContext"); 
} 

Или так:

public class ContextService { 

    @Autowired EntityManager entityManager; 

    public Integer getContext(Integer idUser, String date, Double longitude, Double latitude){ 
       StoredProcedureQuery storedProcedure = entityManager.createStoredProcedureQuery("searchContext"); 
} 

Я также попытался haved это решение: here Но прекомпилятор дает мне ошибку в репозитории Jpa:

"Invalid полученный запрос! Нет поиск недвижимости найдено для типа ActiveContext"

Спасибо вам большое!

+0

Вы используете Spring Boot? Если вы не используете конфигурацию XML для beans или Java Configuration? Проблема заключается в том, что ваш entityManager не инициализирован. –

ответ

0

Я решил проблему. Я делал «новый»() «класса, у которого есть новый менеджер сущностей ... nie вводится« autowire », а bean объявляется в приложении-config, спасибо

Смежные вопросы