I have 3 entities :
User, Group, Item
One user can be part of many groups and one group has many users in it.
One Group has many Items available and One Item can be part of many Groups.
Ok. I mapped the above and all seems nice.
I do something like that :
em.createQuery("select l from Item l where l.title like :search ")