请教大家一个问题,现在有两张表 A 和表 B。两张表是多对多的关系。用 JPA 生成的三张表,包括一张中间表表 C。
- 表 A 现在是维护方,表 B 是被维护方。
- 现在更新表 A 的信息,不更新表 B 的信息,但是中间表要更新关联多个表 B 的主键 id,因为一个表 A 关联多张表 B。
@Modifying
@Query("update A a SET a.oid = ?1, a.BList = ?2 where a.id = ?3")
Integer update(String oid, List<B> bList, String id);
我做单元测试,传进去的参数包括一个 List 类型,但是一直提示
Caused by: java.lang.IllegalArgumentException: Parameter value [bList] did not match expected type [java.util.Collection (n/a)]
我知道报错是因为类型不匹配,但是类型应该是匹配的,不知道怎么处理 JPA 的 SQL 语句?可能我这种写法有问题,或者参数根本就不支持 List 类型。
希望大家指点一下。

