It is possible to execute a query over a keySet of a map field with comparing to a collection parameter?
Set<String> values = new HashSet<>(); values.add("c2"); String query = // "SELECT e " + "FROM " + EntityParent.class.getName() + " e " + "WHERE e.map member of ?1"; TypedQuery<EntityParent> q = em.createQuery(query, EntityParent.class); q.setParameter(1, values); List<EntityParent> result = q.getResultList(); @Entity public static class EntityParent { @Basic String value; public EntityParent(String name) { value = name; } @OneToMany (cascade = CascadeType.ALL) public Map<String, EntityChild> map = new HashMap<>(); } @Entity public static class EntityChild { @Basic String value; public EntityChild(String name) { value = name; } }