Java 将参数传递给查询
我在向该查询传递参数时遇到问题。当我尝试运行时,会出现异常Java 将参数传递给查询,java,hibernate,hql,spring-data-rest,Java,Hibernate,Hql,Spring Data Rest,我在向该查询传递参数时遇到问题。当我尝试运行时,会出现异常 @Query("select o from Offer o, OfferCriteria ocg where o = ocg.offer and ocg.criteria = 'gender' and ocg.criteriaValue in (2, (select c.gender from Customer as c where c.id = :Id)) ") List<Offer> findOffersForC
@Query("select o from Offer o, OfferCriteria ocg where o = ocg.offer and ocg.criteria = 'gender' and ocg.criteriaValue in (2, (select c.gender from Customer as c where c.id = :Id)) ")
List<Offer> findOffersForCustomer(@Param("Id") String customerId)
我让它运行,但是没有为提供的客户id返回任何报价,即使它应该返回。请将代码粘贴到设置参数的地方。它的spring数据静止,因此参数设置在方法声明中@Query注释的正下方。
Caused by: java.lang.NullPointerException: null
at org.hibernate.hql.internal.ast.ParameterTranslationsImpl.getNamedParameterExpectedType(ParameterTranslationsImpl.java:92)
at org.hibernate.engine.query.spi.HQLQueryPlan.buildParameterMetadata(HQLQueryPlan.java:383)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:145)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:88)
at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:190)
at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1796)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:342)
at com.sun.proxy.$Proxy83.createQuery(Unknown Source)
at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:74)
select o from Offer o, OfferCriteria ocg where o = ocg.offer and ocg.criteria = 'gender' and ocg.criteriaValue = (select c.gender from Customer as c where c.id = :Id)