Método de listagem executado várias vezes

Bom dia amigos,

Sou novo aqui no fórum e recentemente comecei a programar em Java para a web, utilizando jsf 2.0, primefaces e hibernate. Minha dúvida é a seguinte: fiz uma aplicação básica que gerencia o cadastro de livros com apenas uma tabela no banco, utilizando postgres. E gostaria de saber porque antes da lista surgir na tela, o método de listagem é executado mais de uma vez. Segue abaixo trechos do código:

//método para listar
public List<Livro> list() {

        Session session = HibernateUtil.getSessionFactory().openSession();

        Transaction t = session.beginTransaction();

        List lista = session.createQuery("from Livro").list();

        t.commit();
        
        return lista;

    }

Alguém já percebeu o porque de o hibernate executar várias vezes um método de listagem? Falo isso porque não é a primeira aplicação em que vejo isso acontecer. Gostaria de alguma sugestão ou um comentário de alguém que pode ter passado pelo mesmo problema.

Acho que isso é um problema do JSF e não do Hibernate.

Isso está acontecendo provavelmente pelo ciclo de vida do JSF, que está chamando diversas vezes esse metodo durante as fases do ciclo.
De uma estudada no ciclod e vida do JSF para entender melhor o que está acontecendo.