2017-04-19 1 views
1

J'utilise Spring Data Cassandra.Je reçois une exception quand je passe plusieurs paramètres à la méthode du référentiel. Quelqu'un peut-il aider à passer plusieurs paramètres à ajouter et à utiliser la clause where.java.lang.IllegalArgumentException: Soit utiliser @Param sur tous les paramètres sauf Pageable et Sort tapé une fois, ou pas du tout

Ma méthode de prise en pension:

@Query("select site_name,month_gen from mykeyspace.dgr_item where type='Site' and name = ?0 and dgr_date in (:list)") 
public List<Object> findGen(String siteName, @Param("list") List<Date> listt); 

Exception:

Caused by: java.lang.IllegalArgumentException: Either use @Param on all parameters except Pageable and Sort typed once, or none at all! 
at org.springframework.util.Assert.isTrue(Assert.java:68) 
at org.springframework.data.repository.query.Parameters.assertEitherAllParamAnnotatedOrNone(Parameters.java:294) 
at org.springframework.data.repository.query.Parameters.<init>(Parameters.java:91) 
at org.springframework.data.cassandra.repository.query.CassandraParameters.<init>(CassandraParameters.java:45) 
at org.springframework.data.cassandra.repository.query.CassandraQueryMethod.createParameters(CassandraQueryMethod.java:131) 
at org.springframework.data.cassandra.repository.query.CassandraQueryMethod.createParameters(CassandraQueryMethod.java:45) 
at org.springframework.data.repository.query.QueryMethod.<init>(QueryMethod.java:75) 
at org.springframework.data.cassandra.repository.query.CassandraQueryMethod.<init>(CassandraQueryMethod.java:64) 
at org.springframework.data.cassandra.repository.support.CassandraRepositoryFactory$CassandraQueryLookupStrategy.resolveQuery(CassandraRepositoryFactory.java:152) 
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.<init>(RepositoryFactorySupport.java:436) 
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:221) 
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:277) 
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:263) 
at org.springframework.data.cassandra.repository.support.CassandraRepositoryFactoryBean.afterPropertiesSet(CassandraRepositoryFactoryBean.java:76) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624) 
... 41 common frames omitted 
+2

Causé par: java.lang.IllegalArgumentException: Soit utiliser l'annotation Param sur tous les paramètres sauf Pageable et Sort tapé une fois, ou pas du tout! déclare que tous les paramètres doivent avoir une annotation Param, votre premier argument ne l'a pas. – pshirishreddy

+0

J'ai ajouté @Param pour le premier paramètre également et le problème a résolu.Merci. – sreedhar

+0

l'a converti pour répondre à l'accepter. – pshirishreddy

Répondre

2

Causée par: java.lang.IllegalArgumentException: soit utiliser l'annotation sur tous les paramètres Param sauf paginable et Trier tapé une fois, ou aucun tout! indique que tous les paramètres doivent avoir l'annotation Param votre premier argument ne l'a pas