@Override public PurposeCategory addPurposeCategory(PurposeCategory purposeCategory) throws ConsentManagementException { PurposeCategory purposeCategoryResult; int insertedId; JdbcTemplate jdbcTemplate = JdbcUtils.getNewTemplate(); try { insertedId = jdbcTemplate.executeInsert(INSERT_PURPOSE_CATEGORY_SQL, (preparedStatement -> { preparedStatement.setString(1, purposeCategory.getName()); preparedStatement.setString(2, purposeCategory.getDescription()); preparedStatement.setInt(3, purposeCategory.getTenantId()); }), purposeCategory, true); } catch (DataAccessException e) { throw ConsentUtils.handleServerException(ErrorMessages.ERROR_CODE_ADD_PURPOSE_CATEGORY, purposeCategory .getName(), e); } purposeCategoryResult = new PurposeCategory(insertedId, purposeCategory.getName(), purposeCategory.getDescription(), purposeCategory.getTenantId()); return purposeCategoryResult; }