A arquitetura do Hibernate é composta por diversos componentes que trabalham juntos para oferecer uma solução completa de persistência de dados em aplicações Java. Entre os principais estão o SessionFactory, que gera sessões responsáveis pelas transações com o banco, e o Configuration, que carrega os arquivos de configuração e mapeamento. O Hibernate também utiliza o objeto Session como ponto central para operações CRUD. A integração pode ser feita com arquivos XML ou anotações Java, permitindo flexibilidade no mapeamento objeto-relacional. Além disso, o Hibernate pode ser utilizado de forma independente ou integrado a frameworks como Spring para facilitar a gestão do ciclo de vida das dependências. Com base no texto, avalie as seguintes afirmações: O componente SessionFactory é utilizado para realizar operações CRUD diretamente no banco, como inserções e exclusões. O Hibernate permite o mapeamento das entidades Java para tabelas por meio de anotações ou arquivos XML. O componente Session atua como uma ponte entre a aplicação e o banco, sendo responsável pelas operações de persistência. A classe Configuration é responsável por executar as queries escritas em HQL e retornar os dados da base. É correto que se afirma em: I e III. I e IV. II e III. I e II. III e IV.