Что такое эквивалент CriteriaBuilder для этого простого jpl?
TypedQuery<Sample> query = em.createQuery("from Sample s, In(s.friends) f where f = :friend", Sample.class).setParameter("friend", friend);
// query yields: select sample0_.id as id39_ from Sample sample0_ inner join Sample_friends friends1_ on sample0_.id=friends1_.Sample_id where friends1_.friends=?
return query.getResultList();
Я пробовал десятки составов, используя .in() .join()
и .member()
, но безрезультатно..in
работает только как предложение where, а не как часть from..join
, кажется, требует разыменования атрибута при использовании в where.и .member
работает только на неэлементарных типах (полные сущности как содержащиеся ссылки).[Я могу опубликовать свои тщетные попытки.Я использовал механизм join()
для других коллекций, где присоединяемый объект является сущностью, но я не могу понять, как использовать элемент.]