“Daniel Augusto”:
Poderiam traduzir os termos lazy loading, eager loading, first-level caching, second level caching e batching, descrevendo o que são/para que serve/o que fazem?
Não entendi o que o Louds quis dizer.
Lazy loading é quando se atraza a carga de dados do banco ate o último instante. Ex: Você tem as tabelas funcionario e cargo. Com lazy loading quando um registro de funcionario é lido, o correspondente em cargo será somente lido no último instante.
Eager loading é quando se adianta a carga de dados do banco e traz mais dados em uma única consulta. Ex: Como no exemplo, mas trazendo funcionario e cargo na mesma query.
first-level caching é um cache para a transação corrente, ele evita que você leia o mesmo registro do banco 2 vezes.
second-level caching é um cache para dados normalmente read-only ou raramente alterados, ele existe para a instancia da aplicação.
batching é mandar uma sequencia de comandos para o servidor em uma camada só, isso salva muito em termos de latência.
Hibernate eu acredito que seja overkill apenas quando cada tabela se envolve em um único use-case.