title: Need to implement Filter, criteria spring data
body: <p>I have a table <code>User</code> which have a collections of <code>Role</code> and collections of <code>City</code>.</p>
  
  <p>I need to implement filter logic like this <strong>/?cities=LA,Berlin&amp;roles=Admin</strong> that returns Users with <code>{LA and Berlin and other if it has}</code> and role <code>{Admin}</code></p>
  
  <pre><code>SELECT * FROM user
  
  LEFT JOIN user_city
  ON user.id = user_city.user_id
  LEFT JOIN city
  ON city.id = user_city.city_id
  
  WHERE city.name in ('LA','Berlin')  
  GROUP BY 
  HAVING COUNT(*) = 2;
  </code></pre>
  
  <p>It works for one criteria how to make with two and more? 
  I need make it on criteria spring data but better would be understand how it works in sql first.</p>