Java JPA标准集/列表不能用作PluralAttribute以生成谓词
我有一个实体类X,它有一个Y实体的集合 X 给我一个错误: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
(参数不匹配;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))