HSQLDB com JPA

Caros,

Estou brincando um pouco com JPA e ando testando com o Oracle 10g XE e o HSQLDB.

Com Oracle, tudo normal, mas com o HSQLDB, eu percebi que há um grande problema. Mesmo que eu faça:

entityManager.close(); entityManagerFactory.close();

ele NÃO chama o “SHUTDOWN” necessário para fechar corretamente o HSQLDB.

Fiz uma gambiarra assim para solucionar:

public void shutdown() { entityManager.getTransaction().begin(); entityManager.createNativeQuery("SHUTDOWN").executeUpdate(); entityManager.getTransaction().commit(); entityManager.close(); emf.close(); }

Vou tentar olhar os fontes do Hibernate para o dialeto do HSQLDB para ver se ele ignora isso mesmo no close, ou mesmo no driver do HSQLDB. Algum lugar deveria fazer isso.

Acho que ele não deve fazer isso (shutdown da base) porque o Hibernate deve ter sido testado com um banco HSQLDB em modo “server”, não em modo “stand-alone” - onde você precisa do danado do “shutdown”.