Consulta Generica com Hibernate

Bem pessoal no site do http://uaihebert.com/?p=836&page=3

vi que ele fez o seguinte metodo no genericDAO

protected T findOneResult(String namedQuery, Map<String, Object> parameters) {
        T result = null;
 
        try {
            Query query = em.createNamedQuery(namedQuery);
 
            // Method that will populate parameters if they are passed not null and empty
            if (parameters != null && !parameters.isEmpty()) {
                populateQueryParameters(query, parameters);
            }
 
            result = (T) query.getSingleResult();
 
        } catch (Exception e) {
            System.out.println("Error while running query: " + e.getMessage());
            e.printStackTrace();
        }
 
        return result;
    }

E na classe que estende desse daoGenerico fez o seguinte:

public User findUserByEmail(String email){
        Map<String, Object> parameters = new HashMap<String, Object>();
        parameters.put("email", email);     
 
        return super.findOneResult(User.FIND_BY_EMAIL, parameters);
    }

queria saber se é possivel fazer o mesmo só que com Hibernate, no exemplo ele usa JPA e entityManager, queria efetuar o mesmo com session.

Desculpe a ignorância em algo é pq ainda sou novato e estou tentando estudar um pouco mais afundo, já perguntei no site dele mais acho que ele é um pouco ocupado então estou postando aqui caso alguém possa me ajudar

com jpa ele pode usar hibernate também

É plenamente possível, a única diferença seria a adoção da Session no lugar do EntityManager.