没有参数值 - hibernate jpa

时间:2016-06-13 16:16:09

标签: 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")
    public Set<MenuProfileEntity> getMenuProfiles() {
    return this.menuProfiles;
}

menuProfileEntitySet是一组MenuProfileEntity 查询失败,问题主题中出现错误

1 个答案:

答案 0 :(得分:2)

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

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

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