@Override
    public void add(OwnerDaoEntity ownerDaoEntity) throws DaoException {
        PreparedStatement insertStmt = null;
        Connection conn = openConnection();

        try {
            insertStmt = conn.prepareStatement(insertSql);

            insertStmt.setString(1, ownerDaoEntity.getFirstName());
            insertStmt.setString(2, ownerDaoEntity.getLastName());
            insertStmt.setString(3, ownerDaoEntity.getPatronymic());
            insertStmt.setDate(4, new Date(ownerDaoEntity.getDOB().getTime()));
            insertStmt.setString(5, ownerDaoEntity.getPassportNumber());
            insertStmt.setString(6, ownerDaoEntity.getIdentificationNumber());
            insertStmt.setString(7, ownerDaoEntity.getAddress());

            insertStmt.executeUpdate();
        } catch (SQLException e) {
            throw new DaoException(String.format("Cannot add new owner (%s) to table %s.car_owners!\n%s", ownerDaoEntity,
                    JdbcInfo.getInstance().getDbName(),e.getLocalizedMessage()));
        } finally {
            JdbcUtils.closeQuietly(insertStmt);
        }
    }