Eu me deparei com o mesmo problema e consegui resolvê-lo seguindo estas duas etapas:
-
definindo o nível de isolamento adicionando estas instruções:config.setDefaultTransactionIsolation("READ UNCOMMITTED");
-
confirmar todas as transações antes de fechar.
Não tenho certeza de qual resolveu o problema ou se ambos são necessários.