Java JPA标准集/列表不能用作PluralAttribute以生成谓词

Java JPA标准集/列表不能用作PluralAttribute以生成谓词,java,hibernate,jpa,criteria-api,Java,Hibernate,Jpa,Criteria Api,我有一个实体类X,它有一个Y实体的集合 X 给我一个错误: (参数不匹配;ListAttribute无法转换为PluralAttribute)) 当我查看元模型时,列表属性如下所示: public static volatile ListAttribute<X, Y> items; 公共静态易失性列表属性项; 转到ListAttribute定义: public interface ListAttribute<X extends Object, E extends Objec

我有一个实体类X,它有一个Y实体的集合

X

给我一个错误:
(参数不匹配;ListAttribute无法转换为PluralAttribute))

当我查看元模型时,列表属性如下所示:

public static volatile ListAttribute<X, Y> items;
公共静态易失性列表属性项;
转到ListAttribute定义:

public interface ListAttribute<X extends Object, E extends Object> 
    extends PluralAttribute<X, List<E>, E> {
公共接口列表属性
扩展多属性{
我尝试了转换
criteriaBuilder.isMember(entity,(PluralAttribute)subRoot.get(X_uu.items))
并将其从集合更改为列表


这是可能的,还是有其他方法可以检查JPA条件查询中的集合中是否出现了对象?

我们使用了联接

Join join = root.join(root.get(X_.items);

query.where(criteriaBuilder.equal(root.get(X_.items), entity))
输出是这样的:

public static volatile ListAttribute<X, Y> items;
从x中选择x.*.* X_u.id=Item_u.X_id上的内部联接X_uitem Item_u,其中X_u.Item_uid=

Join join = root.join(root.get(X_.items);

query.where(criteriaBuilder.equal(root.get(X_.items), entity))