weekly status was a wrong header for the letter.
Max, why ConsoleConfiguration -> localCfg.setProperty(
"hibernate.temp.use_jdbc_metadata_defaults", "false" ); - is
false not a
true?
Is the reason the same - autoConfigureDialect is commented:
//autoConfigureDialect(localCfg); Disabled for now since it causes
very
looong timeouts for non-running databases + i havent been needed until
now...
autoConfigureDialect
yes - a non-started database causes the whole ui to hang.
So why GenerateEntitiesWizard -> performFinish ->
wc.setAttribute("hibernate.temp.use_jdbc_metadata_defaults", true);
Do you know some other way - to check non-running database quickly
without getConnection?
look at the datbase url, driverclass and look at the info in DTP data
or
if that is not enough ask the user for the db,
It is possible to enhance SettingsFactory -> buildSettings here:
è if ( useJdbcMetadata ) {
it is possible to cache databaseName & databaseMajorVersion to read it only
once
No, what should it based the cache on ?
Firstly I think just simple properties: databaseName & databaseMajorVersion
be suitable
If useJdbcMetadata and databaseName == null & databaseMajorVersion == null
Then get connection and initialize as it is. So it call getConnection only
once but this is SettingsFactory not suitable solution
It seems like a if ( useJdbcMetadata ) { block not a right place in
SettingsFactory -> buildSettings, seems should be parameters for
buildSettings function - databaseName, databaseMajorVersion. databaseName,
databaseMajorVersion should be initialized from other place.
In any case not a subject to discuss - if
Not a job for hibernate core to keep track of.
Just setAttribute("hibernate.temp.use_jdbc_metadata_defaults", true) or
autoConfigureDialect (better if not a job of hibernate core) could be a nice
feature,
It prevent user to make one more configuration step to setup dialect by
hands
It a pity if not possible to use
hibernate.temp.use_jdbc_metadata_defaults or autoConfigureDialect
May be the solution is to get databaseName & databaseMajorVersion or in
general dialect in independent thread only synchronization issue,
So Hibernate Console Config could display its nodes and in case when the
user try to expand Database (here is a try to connect to db in any case) -
db dialect could get its value. But in case if db dialect doesnt get value
the user should specify this by hands
Look like too much could and
but, but this is only specific cases in general it seems useful and
possible to use (autoConfigureDialect in independent thread). In the bad
case we just get a long running thread.
Vitali