Como desenvolvedor, sei o quanto é chato em alguns casos depender de um "passe mágico" de um framework e me tirar um esforço que no final vai me gerar um esforço dobrado para fazer tunning. No caso de Hibernate/JPA, isso chega a ficar pior pois a idéia do ORM é tirar do desenvolvedor a tarefa relacional que deveria ser do DA/DBA (isso nunca acontece, na prática) e ficar somente com a parte Orientada a Objetos. Aí quando há um problema de performance, a primeira coisa que irão acusar é o desenvolvedor que não fez direito (me parece um cenário típico, né?)
Há um plugin para o JConsole muito bom para capturar as estatísticas do Hibernate chamado "Hibernate JConsole" e ele é muito bom para analisar a performance de queries HQL, bem como a performance do 2nd-level cache e fetch de collections. Para quem quiser, baixe a ferramenta em:
http://hibernate-jcons.sourceforge.net/
Abaixo um screenshot da ferramenta:
Comments