使用 member of 过滤多对多关系

Using member of to filter in many to many relationship

我有这个问题,首先我有这个例子class

@Entity
public class A  {
    private String name;
  @id
  private Integer id;
  
    @ManyToMany(cascade = {CascadeType.PERSIST,CascadeType.MERGE}, fetch = FetchType.LAZY)
    @JoinTable(name = "formof_undertaking_subproduct", 
    joinColumns = @JoinColumn(name = "a_id"), 
    inverseJoinColumns = @JoinColumn(name = "b_id"))
    private Set<b> bSet;

我想做这个查询

@Query("select distinct entity from A entity where :bId member of entity.b.id")
List<A> getAbyB(@Param("Bid")Integer Bid);

但是当我执行这个查询时,我得到了这个错误:

参数值元素 [1] 与预期类型不匹配

因为某些原因,它需要一个 B 对象,但我想使用 B.id 整数 ID。

有解决办法吗? 谢谢你的时间,对不起我的英语,这不是我的母语。

最后,我使用简单的连接完成了一个新查询,查询将是:

select distinct entity from A entity join entity.b other where other.id = :id;