Naprawiłem to =) Naprawdę musiałem zakorzenić się, aby znaleźć odpowiedź na to. Zasadniczo sprowadza się do załadowania metadanych i sterownika JDBC. Ładuje WSZYSTKIE META DANE, w tym komentarze obok kolumn sql i innych różnych konstrukcji, które nie są potrzebne do działania. Nie wiem, dlaczego jest to domyślnie włączone, ale zdecydowanie powinieneś wyłączyć tę funkcję, chyba że wyraźnie jej potrzebujesz:
config.setProperty("hibernate.temp.use_jdbc_metadata_defaults","false");
Natychmiastowe połączenie teraz!
Jedyne informacje, jakie udało mi się znaleźć na ten temat, są w kodzie:
107 // 'hibernate.temp.use_jdbc_metadata_defaults' is a temporary magic value.
108 // The need for it is intended to be alleviated with future development, thus it is
109 // not defined as an Environment constant...
110 //
111 // it is used to control whether we should consult the JDBC metadata to determine
112 // certain Settings default values; it is useful to *not* do this when the database
113 // may not be available (mainly in tools usage).
114 boolean useJdbcMetadata = ConfigurationHelper.getBoolean( "hibernate.temp.use_jdbc_metadata_defaults", configValues, true );
http://grepcode.com/file/repo1.maven.org/maven2/org.hibernate/hibernate-core/4.1.1.Final/org/hibernate/engine/jdbc/internal/JdbcServicesImpl.java#JdbcServicesImpl