我正在尝试在MySQL调用中调用存储过程:“searchContext”。
但是如何获得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");
}
我也试过这个解决方案:here 但预编译器在Jpa存储库上给出了错误:
“无效的派生查询!找不到类型的属性搜索 ActiveContext“
非常感谢!
答案 0 :(得分:0)
我已经解决了这个问题。我正在制作一个具有新实体管理器的类的“new()”... nie注入“autowire”并且bean在application-config中声明谢谢