SóProvas


ID
622129
Banca
CESPE / CEBRASPE
Órgão
CBM-DF
Ano
2011
Provas
Disciplina
Programação
Assuntos

Com relação ao desenvolvimento web, julgue os itens subsequentes.

A principal característica do Hibernate é a transformação das tabelas de dados para classes em Java. Além disso, ele gera as chamadas SQL e libera o desenvolvedor do trabalho manual da conversão dos dados resultantes.

Alternativas
Comentários
  • Sua principal característica é a transformação das classes em Java para tabelas de dados (e dos tipos de dados Java para os da SQL). O Hibernate gera as chamadas SQL e libera o desenvolvedor do trabalho manual da conversão dos dados resultante, mantendo o programa portável para quaisquer bancos de dados SQL, porém causando um pequeno aumento no tempo de execução.

    Fonte: 

    http://pt.wikipedia.org/wiki/Hibernate

    Parece que o CESPE passou mesmo a adotar a fonte de questões que a FCC mais usa!

     

  • Essa característica do Hibernate não é unidirecional. Ele realiza o mapeamento objeto-relacional. Em suma, ele faz a intermediação entre classes java e tabelas de bancos de dados relacional.
    Acredito que o erro não esteja na troca de posição dos termos e sim ao afirmação que ele faz transformação, pois isso não ocorre. Uma classe não transforma em tabela, nem uma tabela se transforma em classe. O que ocorre é a mediação do hibernate entre esses dois componentes que não se entendem, realizando o mapeamento que sem seu uso é extremamente custoso para o desenvolvedor.
  • O mapeamento no Hibernate pode ser realizado em duas abordagens:
    Top-Down: A partir de modelos de classe gera-se o modelo de dados
    Bottom-Up: A partir do modelo de dados gera-se o modelo de classes (engenharia reversa)

    Acredito que a principal característica e facilidade seja a abordagem Top-Down, que é justamente a inversa do que foi apresentado na questão.
  • A questão foi tirada diretamente do site do hibernate:

    "Hibernate is a high-performance Object/Relational persistence and query service. The most flexible and powerful Object/Relational solution on the market,

    Hibernate takes care of the mapping from Java classes to database tables and from Java data types to SQL data types. It provides data query and retrieval facilities that significantly reduce development time. (grifo nosso)

    Hibernate’s design goal is to relieve the developer from 95% of common data persistence-related programming tasks by eliminating the need for manual, hand-crafted data processing using SQL and JDBC.  However, unlike many other persistence solutions, Hibernate does not hide the power of SQL from you and guarantees that your investment in relational technology and knowledge is as valid as always."

    Apesar da questão não citar o caminho inverso, isso não invalida a questão. O problema está com o termo mapping e transformação.

    Fonte:
    www.hibernate.org/about

    http://docs.jboss.org/hibernate/orm/3.6/reference/pt-BR/html/preface.html
  • O hibernante mapea das tabelas para classes em java e vice-versa.
  • Questão retirada do Wikipedia (http://pt.wikipedia.org/wiki/Hibernate):

    "Sua principal característica é a transformação das classes em Java para tabelas de dados. O Hibernate gera as chamadas SQL e libera o desenvolvedor do trabalho manual da conversão dos dados resultante."

    A pegadinha está na ordem da transformação.
  • é HQL e não SQL.