Operator SIMPLE_PROPERTY on rid requires a scalar argument, found interface java.util.List in method

jpa上的坑


哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步
一位上进心十足的【Java ToB端大厂领域博主】!
喜欢java和python,平时比较懒,能用程序解决的坚决不手动解决

✨ 如果有对【java】感兴趣的【小可爱】,欢迎关注我

❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
————————————————

如果觉得本文对你有帮助,欢迎点赞,欢迎关注我,如果有补充欢迎评论交流,我将努力创作更多更好的文章。

今天使用jpa使用了批量查询的方法遇到了下面的问题:

Operator SIMPLE_PROPERTY on rid requires a scalar argument, found interface java.util.List in method

Caused by: java.lang.IllegalStateException: Operator SIMPLE_PROPERTY on rid requires a scalar argument, found interface java.util.List in method public abstract java.util.List com.example.demo.Dao.AdminRolePermissionDao.findAllByRid(java.util.List).
    at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.throwExceptionOnArgumentMismatch(PartTreeJpaQuery.java:171) ~[spring-data-jpa-2.4.2.jar:2.4.2]
    at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.validate(PartTreeJpaQuery.java:147) ~[spring-data-jpa-2.4.2.jar:2.4.2]
    at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.(PartTreeJpaQuery.java:90) ~[spring-data-jpa-2.4.2.jar:2.4.2]
    ... 43 common frames omitted

从表面的意思我们可以看出操作要求的是简单的参数,但是获取到的是List,可以大致定位问题,传的参数和需要的参数不一致导致的问题,

List findAllByTenantIdAndAuthSubjectAndUserId( String tenantId, Integer authSubject,List userIds);

解决方法是在批量查询的时候批量的字段后面加一个In就好了

List findAllByTenantIdAndAuthSubjectAndUserIdIn( String tenantId, Integer authSubject,List userIds);

 

你可能感兴趣的:(java,开发语言,spring)