Spring Hibernate Jpa错误:根本原因java.lang.IllegalArgumentException:未知参数位置:1

Spring Hibernate Jpa错误:根本原因java.lang.IllegalArgumentException:未知参数位置:1,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,嗨,我得到以下错误 java.lang.IllegalArgumentException:未知参数位置:1] 具有根本原因java.lang.IllegalArgumentException:未知参数 职位:1 org.hibernate.query.internal.queryParameterBindingSiml.getBinding(queryParameterBindingSiml.java:240) 在 org.hibernate.query.internal.AbstractPro

嗨,我得到以下错误

java.lang.IllegalArgumentException:未知参数位置:1] 具有根本原因java.lang.IllegalArgumentException:未知参数 职位:1 org.hibernate.query.internal.queryParameterBindingSiml.getBinding(queryParameterBindingSiml.java:240) 在 org.hibernate.query.internal.AbstractProducedQuery.setParameter(AbstractProducedQuery.java:503) 在 org.hibernate.query.internal.AbstractProducedQuery.setParameter(AbstractProducedQuery.java:104) 位于的sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.lang.reflect.Method.invoke(Method.java:498) org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:372) 位于com.sun.proxy.$Proxy63.setParameter(未知源) edu.zipcloud.cloudstreetmarket.core.daos.HistoricalIndexRepositoryImpl.FindLasHistoric(HistoricalIndexRepositoryImpl.java:37) 在 edu.zipcloud.cloudstreetmarket.core.daos.HistoricalIndexRepositoryImpl.FindLastTraday(HistoricalIndexRepositoryImpl.java:31) 在 edu.zipcloud.cloudstreetmarket.core.services.MarketServiceImpl.getLastDayIndexActivity(MarketServiceImpl.java:41) 在 edu.zipcloud.cloudstreetmarket.portal.Controller.DefaultController.fallBack(DefaultController.java:26) 位于的sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.lang.reflect.Method.invoke(Method.java:498) org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) 在 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133) 在 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97) 在 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) 在 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) 在 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:622) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

内部方法
findlashistoric(HistoricalIndexRepositoryImpl.java:37)

类别:

@Repository
public class HistoricalIndexRepositoryImpl implements HistoricalIndexRepository{

    @PersistenceContext 
    private EntityManager em;

    @Override
    public Iterable<HistoricalIndex> findIntraDay(String code, Date of) {
        TypedQuery<HistoricalIndex> sqlQuery = em.createQuery("from HistoricalIndex h where h.index.code = ? and h.fromDate >= ? and h.toDate <= ? ORDER BY h.toDate asc", HistoricalIndex.class);
        sqlQuery.setParameter(1, code);
        sqlQuery.setParameter(2, DateUtil.getStartOfDay(of));
        sqlQuery.setParameter(3, DateUtil.getEndOfDay(of));
        return sqlQuery.getResultList();
    }

    @Override
    public Iterable<HistoricalIndex> findLastIntraDay(String code) {
        return findIntraDay(code, findLastHistoric(code).getToDate());
    }

    @Override
    public HistoricalIndex findLastHistoric(String code){
        TypedQuery<HistoricalIndex> sqlQuery = em.createQuery("from HistoricalIndex h where h.index.code = ? ORDER BY h.toDate desc", HistoricalIndex.class);
        sqlQuery.setParameter(1, code);
        return sqlQuery.setMaxResults(1).getSingleResult();
    }
}
@存储库
公共类HistoricalIndexRepositoryImpl实现HistoricalIndexRepository{
@持久上下文
私人实体管理者;
@凌驾
公共Iterable findIntraDay(字符串代码,日期){
TypedQuery sqlQuery=em.createQuery(“from HistoricalIndex h,其中h.index.code=?和h.fromDate>=?和h.toDate如何

    TypedQuery<HistoricalIndex> sqlQuery = em.createQuery("from HistoricalIndex h where h.index.code = ?1 ORDER BY h.toDate desc", HistoricalIndex.class);
TypedQuery sqlQuery=em.createQuery(“from HistoricalIndex h,其中h.index.code=?1 ORDER BY h.toDate desc”,HistoricalIndex.class);

检查第5.3.2节。查询创建

您正在使用HQL?如果是,请尝试使用历史索引h中的
,其中h.index.code=:h.toDate desc的代码顺序
,在设置参数时,使用
sqlQuery.setParameter(“code”,code);
yes Sir@zombieOh亲爱的。似乎忘记了“选择{alias}”来自查询。JPA也使用位置参数(或命名参数),而不是JDBC语法。阅读基本JPA文档