Usar Entity Manager ou Session (Hibernate)

Minha dúvida é o seguinte, estou utilizando o Jboss Seam no meu novo projeto, e gostaria de saber qual a melhor forma de implementar a persistencia:
Utilizar uma injeção de dependencia no Entity Manager ou apenas utilizar a Session do hibernate?
Da forma como estou fazendo hj eu apenos utilizo o Entity Manager e quando quero usar alguma implementação do Hibernate como por exemplo Criteria, saveOrUpdate, etc… eu utilizo o getDelegate do EntityManager e ele retorna a implementação do meu provider de persistencia (no caso hibernate).
Utilizo da seguinte forma:
Session session = (Session) entityManager.getDelegate();

Só que eu possso não utilizar o EntityManager hora nenhuma, e configurar apenas para utilizar a Session do hibernate.

Qual o melhor padrão?