java - CassandraRepository - 输入“2021-01”没有可行的替代方案
问题描述
我想使用 @Query 注释在我的 java CassandraRepository 中执行此操作:
select * from TABLE_A where month IN
('2021-01',
'2021-02',
'2021-03',
'2021-04',
'2021-05',
'2021-06',
'2021-07',
'2021-08',
'2021-09',
'2021-10',
'2021-11',
'2021-12')
AND user_id = '1';
在我的 CassandraRepository 中:
@Query("SELECT * FROM TABLE_A WHERE user_id = ?0 AND month IN ?1")
List<UserListenCountByMonth> findByUserIdAndYear(String userId, List<String> year);
但它得到错误:
引起:com.datastax.driver.core.exceptions.SyntaxError:第 1:84 行在 输入“2021-01”处没有可行的替代方案(...WHERE user_id = '1' AND [month] IN...)
我检查了调试,我的字符串列表没有问题。我错过了什么?谢谢你。
解决方案
旧版本的 CassandraRepository 在您的 @Query 中需要括号。
所以,改变:
@Query("SELECT * FROM TABLE_A WHERE user_id = ?0 AND month IN ?1")
到:
@Query("SELECT * FROM TABLE_A WHERE user_id = ?0 AND month IN (?1)")
推荐阅读
- hive - 在 Hive 列中存储和查询空白值
- sdk - Xilinx - Vivado 项目:VGA IO 不工作
- react-native - 由于“未经认证的广告 SDK”,Google Play 商店拒绝了一个反应原生应用程序,如何解决这个问题?
- java - 在 Android 11 上提示用户时如何获取安装结果?
- c++ - 如何在c ++中的多个位置访问类的模板化静态变量
- java - 在 blazemeter jmeter RTE 插件中使用 ctrl+w 输入
- pandas - 有没有一种快速的方法来对 PANDAS 中的列进行子集化?
- typescript - TypeScript:如何在 try 块中设置 const 变量?
- javascript - 长按图像弹出像jquery中的instagram?
- c - 在 C 中使用 Strtok() 对二维数组进行分段错误