示例#1
0
  @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);
      }
    }
  }