参数没有值-hibernate jpa

参数没有值-hibernate jpa,hibernate,jpa,Hibernate,Jpa,我有这个疑问 Query query = entityManager.createQuery("SELECT m FROM MenuEntity m WHERE m.idParent = 0 AND m.menuProfiles IN :profile ") .setParameter("profile",menuProfileEntitySet); @OneToMany(fetch = FetchType.LAZY, mappedBy = "menu")

我有这个疑问

Query query = entityManager.createQuery("SELECT m FROM MenuEntity m WHERE m.idParent = 0 AND m.menuProfiles IN :profile ")
                .setParameter("profile",menuProfileEntitySet);

@OneToMany(fetch = FetchType.LAZY, mappedBy = "menu")
    public Set<MenuProfileEntity> getMenuProfiles() {
    return this.menuProfiles;
}
Query Query=entityManager.createQuery(“从MenuEntity m中选择m,其中m.idParent=0,m.menuProfiles在:profile中”)
.setParameter(“profile”,menupFileEntitySet);
@OneToMany(fetch=FetchType.LAZY,mappedBy=“menu”)
公共集GetMenupFiles(){
返回此.menu文件;
}
MenupFileEntitySet是MenupFileEntity的集合
查询失败,问题主题出现错误

您的查询无效。您可以测试单个菜单配置文件是否在一个集合中,但不能测试整个菜单配置文件集合是否在另一个集合中。您需要加入:

select distinct m from MenuEntity m 
join m.menuProfiles profile
where m.idParent = 0 and profile in :profiles 

这将返回idParent不等于0且在给定配置文件集中至少有1个配置文件的所有菜单实体。

您的查询无效。您可以测试单个菜单配置文件是否在一个集合中,但不能测试整个菜单配置文件集合是否在另一个集合中。您需要加入:

select distinct m from MenuEntity m 
join m.menuProfiles profile
where m.idParent = 0 and profile in :profiles 

这将返回所有菜单实体,这些实体的idParent不等于0,并且在给定的配置文件集中至少有一个配置文件。

错误是什么。共享堆栈跟踪错误是什么。共享堆栈跟踪