public static void removeProperty() { String id = params.get("id"); Prop p = Prop.findById(Long.valueOf(id)); List<Specification> specifications = Specification.em() .createQuery( "select r from Specification r join fetch r.properties s where s.id=" + Long.valueOf(id), Specification.class) .getResultList(); for (Specification spec : specifications) { spec.properties.remove(p); spec.save(); } if (p != null) p.delete(); renderText(id); }