2016-06-13 3 views
0

я не имею с этим запросомникакого значения для параметра - спящий режим 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 запроса произошла ошибка в вопросе subjecty

+0

Какая ошибка. Доля трассировки стека – PeaceIsPearl

ответ

2

Ваш запрос является недействительным. Вы можете проверить, находится ли один профиль профиля внутри набора, но нет, если весь набор профилей меню находится в другом наборе. Вам нужно объединение:

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

Это будет возвращать все объекты меню, которые idParent равны 0 и имеют по крайней мере 1 из их профилей в данном наборе профилей.

+0

благодарит работу отлично – ciro

Смежные вопросы