@Override
  @Transactional(propagation = Propagation.MANDATORY)
  public int update(Dataset dataset) {
    DatasetRecord datasetRecord = new DatasetRecord();
    datasetRecord.from(dataset);
    UpdateConditionStep<DatasetRecord> set =
        dsl.update(DATASET)
            .set(DATASET.IDENTIFIER, dataset.getIdentifier())
            .set(DATASET.OWNER, dataset.getOwner())
            .set(DATASET.DATE, dataset.getDate())
            .set(DATASET.FEATURE_CATALOG, dataset.getFeatureCatalog())
            .where(DATASET.ID.eq(dataset.getId()));

    return set.execute();
  }
 @Override
 @Transactional(propagation = Propagation.MANDATORY)
 public Dataset insert(Dataset dataset) {
   DatasetRecord newRecord = dsl.newRecord(DATASET);
   newRecord.setIdentifier(dataset.getIdentifier());
   newRecord.setOwner(dataset.getOwner());
   newRecord.setDate(dataset.getDate());
   newRecord.setFeatureCatalog(dataset.getFeatureCatalog());
   newRecord.store();
   return newRecord.into(Dataset.class);
 }