sql >> Databáze >  >> RDS >> PostgreSQL

Hibernace je pomalá pro získání připojení Postgres

Opravil jsem to =) Opravdu jsem musel zakořenit, abych našel odpověď na tohle. V podstatě jde o načítání metadat a ovladače JDBC. Načítá VŠECHNA META DATA, včetně komentářů vedle sloupců SQL a dalších různých konstrukcí, které nejsou potřeba pro provoz. Nevím, proč je to ve výchozím nastavení zapnuto, ale měli byste tuto funkci rozhodně vypnout, pokud ji výslovně nepotřebujete:

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

Okamžité připojení nyní!

Jediné informace, které jsem o tom našel, je v kódu:

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



  1. Jak se dostanete k limitům 8060 bajtů na řádek a 8000 na hodnotu (varchar, nvarchar)?

  2. SQLiteException pomocí WHERE +KEY_Date+='+date+'

  3. Export dat do Excelu z tabulky Oracle pomocí PL SQL

  4. SQL Server:Je možné vkládat do dvou tabulek současně?