Sobes.tech
Junior

Quais são as vantagens do Hibernate em relação ao JDBC?

sobes.tech IA

Resposta da IA

Hibernate - framework ORM (Object-Relational Mapping) que simplifica o trabalho com bases de dados em aplicações Java. Vantagens sobre JDBC:

  • Redução do volume de código boilerplate: Hibernate assume a rotina de escrever consultas SQL, mapear resultados para objetos e gerir conexões.
  • Interação orientada a objetos: O desenvolvedor trabalha com objetos Java em vez de tabelas relacionais.
  • Caching: Suporta cache de primeiro e segundo nível, reduzindo as chamadas à base de dados e melhorando o desempenho.
  • Carregamento preguiçoso (Lazy Loading): Os objetos relacionados são carregados apenas quando necessário, economizando recursos.
    // Exemplo de carregamento preguiçoso
    // Order order = session.get(Order.class, orderId);
    // // Itens relacionados ainda não carregados
    // List<OrderItem> items = order.getItems(); // Os itens são carregados aqui
    
  • Gestão de transações: Fornece uma API conveniente para trabalhar com transações.
  • Independência de SGBD específico: A maior parte do código Hibernate é portátil entre diferentes bases de dados.
  • Mecanismos integrados para trabalhar com relações: Permite gerir facilmente relações entre objetos (um para um, um para muitos, muitos para muitos).
  • HQL (Hibernate Query Language) e Criteria API: Linguagens de alto nível para escrever consultas, mais convenientes que SQL nativo.
    // Exemplo de consulta HQL
    // String hql = "FROM Employee WHERE salary > 50000";
    // Query query = session.createQuery(hql);
    
  • Geração automática de DDL: Pode gerar ou atualizar o esquema da base de dados com base nas entidades Java.