@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();
  }