У меня есть объект JPA со следующим полем:
@ManyToMany
@JoinTable(name = "user_organization",
joinColumns = { @JoinColumn(name = "USER_ID") },
inverseJoinColumns = { @JoinColumn(name = "ORGANIZATION_ID") })
@LazyCollection(LazyCollectionOption.FALSE)
@SortNatural
private SortedSet<Organization> organizations = new TreeSet<Organization>();
Имея список объектов Organization
(myOrgs) и используя CriteriaBuilder, как мне написать предложение, чтобы сказать:
Дайте мне все
User
объекты, у которых есть хотя бы одинOrganization
в переменнойmyOrgs
?
Я пробовал следующее, но безуспешно...
final CriteriaBuilder builder = m_entityManager.getCriteriaBuilder();
final CriteriaQuery<User> criteria = builder.createQuery(User.class);
final Root<User> userRoot = criteria.from(User.class);
criteria.where(builder.isMember(myOrgs, userRoot.get(User_.organizations)), ...
Я использую JPA 2.1 с Hibernate 4.3.6.Final.