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.