@Override public void addTrend(String name, Kwet kwet) { Query q = em.createQuery("select trend from Trends trend where trend.name = :name "); q.setParameter("name", name); List<Trend> trends = q.getResultList(); Trend trend = null; if (trends.isEmpty()) { trend = new Trend(name); em.persist(trend); trend.addKwet(kwet); kwet.addTrend(trend); em.merge(trend); em.merge(kwet); } else { trend = trends.get(0); if (!trend.getKwets().contains(kwet)) { trend.addKwet(kwet); kwet.addTrend(trend); em.merge(trend); em.merge(kwet); } } }