Questões de Hibernate (Programação)

Limpar Busca

Leia atentamente a frase abaixo:


"O ______ é uma camada que descreve uma interface comum para frameworks ______ como o ______".


Assinale a alternativa que preencha correta e respectivamente as lacunas.

  • A JVM / ORM / Hibernate
  • B JPA / ORM / Hibernate
  • C JVM / ORM / OpenJDK
  • D JPA / DBA / OpenJDK
  • E JPA / DBA / Hibernate

Com relação ao Hibernate, assinale a alternativa correta.

  • A O Hibernate contém diversas funcionalidades, como engenharia reversa, exportação de esquemas e anotações próprias para simplificar a utilização da API.
  • B O Hibernate é considerado um framework completo em razão de não necessitar adicionar nenhuma dependência para o seu correto funcionamento.
  • C A anotação org.hibernate.annotations.ForeignKey tem como função determinar o nome de uma chave primária.
  • D Uma das vantagens do Hibernate é o fato de não haver necessidade de definir identificadores para as entidades persistentes.
  • E O elemento mapping do arquivo hibernate.cfg.xml é usado para definir o usuário de conexão ao banco de dados.

Considere o desenvolvimento de uma aplicação em um contexto de programação concorrente, em que é esperada a execução simultânea de múltiplas tarefas computacionais. O time utiliza a linguagem de programação JAVA e o framework ORM Hibernate no projeto. Para obter um objeto do tipo SessionFactory, o time decide utilizar o arquivo de configuração e as seguintes classes:
org.hibernate.cfg.Configuration, org.hibernate.service.ServiceRegistry e org.hibernate.service.ServiceRegistryBuilder.
No início do desenvolvimento da primeira funcionalidade com linhas de execução paralelas (Threads), o time discute se é seguro compartilhar o objeto do tipo SessionFactory. Um dos desenvolvedores afirma que é seguro.
O time concluiu acertadamente que esse desenvolvedor está:

  • A errado, pois a classe SessionFactoryImpl implementa a interface Referenceable;
  • B errado, pois a classe SessionFactoryImpl não é thread-safe;
  • C errado, pois a classe SessionFactoryImplementor não é thread-safe;
  • D correto, pois o objeto do tipo SessionFactory é imutável e seu estado interno contém os metadados ORM;
  • E correto, pois a classe SessionFactoryImplementor implementa a interface ConcurrentHashMap.

Um codificador realizou testes em uma aplicação escrita na linguagem de programação Java, utilizando o framework Hibernate como forma de mapeamento objeto-relacional e encontrou problema de lentidão. Em seguida, lembrou que a disparidade entre a forma como objetos são acessados em Java e em bancos de dados é uma fonte bastante comum desse tipo problema. Em um exame mais apurado, descobriu que havia se deparado com o problema das n+1 seleções. Para tentar solucioná-lo, uma das hipóteses deve ser:

  • A realizar a revisão de todos os proxies não inicializados
  • B aumentar o número de requisições ao banco de dados
  • C alterar as configurações para recuperar várias coleções grandes em paralelo
  • D aumentar as incidências de produtos cartesianos, aplicando a definição global fetch=“join” em todas as coleções

O Hibernate tem suporte para mais de um tipo de herança. Na estratégia Tabela por Classe,

  • A várias associações unidimensionais são suportadas.
  • B há suporte às anotações para a geração de Id (IDENTITY).
  • C a classe deve ter anotações AUTO.
  • D a classe deve ser escrita sem anotações IDENTITY.
  • E as propriedades das superclasses e subclasses são mapeadas na mesma tabela.