@Override
  public void update(DataSet dataSet) {
    PeriodType periodType = periodService.reloadPeriodType(dataSet.getPeriodType());

    dataSet.setPeriodType(periodType);

    super.update(dataSet);
  }
  @Override
  public int save(DataSet dataSet) {
    PeriodType periodType = periodService.reloadPeriodType(dataSet.getPeriodType());

    dataSet.setPeriodType(periodType);

    return super.save(dataSet);
  }
  @SuppressWarnings("unchecked")
  public Collection<DataSet> getDataSetsByPeriodType(PeriodType periodType) {
    periodType = periodService.reloadPeriodType(periodType);

    Session session = sessionFactory.getCurrentSession();

    Criteria criteria = session.createCriteria(DataSet.class);
    criteria.add(Restrictions.eq("periodType", periodType));

    return criteria.list();
  }