Junior — Middle
Que dificuldades surgiram ao usar Hibernate nos projetos?
sobes.tech IA
Resposta da IA
Ao usar Hibernate em projetos, frequentemente surgiam as seguintes dificuldades:
- Problemas com Lazy Loading: ao tentar aceder a coleções carregadas de forma preguiçosa fora da sessão, surgia uma
LazyInitializationException. - Gestão incorreta de sessões: levava a fugas de memória ou erros de transação.
- Dificuldades com o cache: a configuração do cache de primeiro e segundo nível exigia compreensão e ajustes finos.
- Comportamento imprevisível em operações em cascata: uma configuração incorreta de cascadas podia levar a eliminações ou atualizações inesperadas de entidades relacionadas.
- Otimização de consultas: a geração de muitas consultas SQL (problema N+1), requeria o uso de
fetch joinou outras técnicas.
Para resolver esses problemas, usou-se:
- Gestão explícita de sessões e transações.
- Uso de
JOIN FETCHpara evitar N+1. - Configuração de cascadas e estratégias de carregamento de acordo com a lógica de negócio.
- Validação e teste de consultas para otimizar o desempenho.