Hmmm.... For me both options are identical. In order to implement #1, you need to write query which will return all employees who has specific role and then iterate this list. For #2 you do absolutely the same - you write HQL query which searches for employees who has specific role and pass this query to session.delete() to let Hibernate do the iteration+delete.
So #2 is little less coding but absolutely the same idea. See the sources - session.delete(hqlQuery) has:
Code:
List list = find(query, values, types);
int size = list.size();
for ( int i=0; i<size; i++ ) delete( list.get(i) );