sql >> Base de Datos >  >> RDS >> PostgreSQL

Hibernate lento para adquirir la conexión de Postgres

Lo arreglé =) Realmente tuve que buscar la respuesta para encontrar la respuesta. Básicamente, se trata de cargar metadatos y el controlador JDBC. Está cargando TODOS LOS METADATOS, incluidos los comentarios junto a las columnas sql y otras construcciones diversas, que no son necesarias para la operación. No sé por qué está activado de forma predeterminada, pero definitivamente deberías desactivar esta función a menos que la necesites explícitamente:

config.setProperty("hibernate.temp.use_jdbc_metadata_defaults","false");

¡Conexión instantánea ahora!

La única información que pude encontrar sobre esto está en el código:

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