[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2372) Allow tooling to create Settings via SettingsFactory without contacting the db
Max Rydahl Andersen (JIRA)
noreply at atlassian.com
Fri Jan 19 09:23:44 EST 2007
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2372?page=comments#action_25848 ]
Max Rydahl Andersen commented on HHH-2372:
------------------------------------------
Index: C:/work/os/hibernate/Branch_3_2/Hibernate3/src/org/hibernate/cfg/SettingsFactory.java
===================================================================
--- C:/work/os/hibernate/Branch_3_2/Hibernate3/src/org/hibernate/cfg/SettingsFactory.java (revision 10998)
+++ C:/work/os/hibernate/Branch_3_2/Hibernate3/src/org/hibernate/cfg/SettingsFactory.java (working copy)
@@ -72,45 +72,48 @@
boolean metaReportsDDLCausesTxnCommit = false;
boolean metaReportsDDLInTxnSupported = true;
- try {
- Connection conn = connections.getConnection();
+ boolean useDatabaseMetaData = PropertiesHelper.getBoolean("hibernate.use_database_metadata", props, true);
+ if(useDatabaseMetaData) {
try {
- DatabaseMetaData meta = conn.getMetaData();
- databaseName = meta.getDatabaseProductName();
- databaseMajorVersion = getDatabaseMajorVersion(meta);
- log.info("RDBMS: " + databaseName + ", version: " + meta.getDatabaseProductVersion() );
- log.info("JDBC driver: " + meta.getDriverName() + ", version: " + meta.getDriverVersion() );
-
- metaSupportsScrollable = meta.supportsResultSetType(ResultSet.TYPE_SCROLL_INSENSITIVE);
- metaSupportsBatchUpdates = meta.supportsBatchUpdates();
- metaReportsDDLCausesTxnCommit = meta.dataDefinitionCausesTransactionCommit();
- metaReportsDDLInTxnSupported = !meta.dataDefinitionIgnoredInTransactions();
-
- if ( Environment.jvmSupportsGetGeneratedKeys() ) {
- try {
- Boolean result = (Boolean) DatabaseMetaData.class.getMethod("supportsGetGeneratedKeys", null)
+ Connection conn = connections.getConnection();
+ try {
+ DatabaseMetaData meta = conn.getMetaData();
+ databaseName = meta.getDatabaseProductName();
+ databaseMajorVersion = getDatabaseMajorVersion(meta);
+ log.info("RDBMS: " + databaseName + ", version: " + meta.getDatabaseProductVersion() );
+ log.info("JDBC driver: " + meta.getDriverName() + ", version: " + meta.getDriverVersion() );
+
+ metaSupportsScrollable = meta.supportsResultSetType(ResultSet.TYPE_SCROLL_INSENSITIVE);
+ metaSupportsBatchUpdates = meta.supportsBatchUpdates();
+ metaReportsDDLCausesTxnCommit = meta.dataDefinitionCausesTransactionCommit();
+ metaReportsDDLInTxnSupported = !meta.dataDefinitionIgnoredInTransactions();
+
+ if ( Environment.jvmSupportsGetGeneratedKeys() ) {
+ try {
+ Boolean result = (Boolean) DatabaseMetaData.class.getMethod("supportsGetGeneratedKeys", null)
.invoke(meta, null);
- metaSupportsGetGeneratedKeys = result.booleanValue();
+ metaSupportsGetGeneratedKeys = result.booleanValue();
+ }
+ catch (AbstractMethodError ame) {
+ metaSupportsGetGeneratedKeys = false;
+ }
+ catch (Exception e) {
+ metaSupportsGetGeneratedKeys = false;
+ }
}
- catch (AbstractMethodError ame) {
- metaSupportsGetGeneratedKeys = false;
- }
- catch (Exception e) {
- metaSupportsGetGeneratedKeys = false;
- }
+
}
-
+ finally {
+ connections.closeConnection(conn);
+ }
}
- finally {
- connections.closeConnection(conn);
+ catch (SQLException sqle) {
+ log.warn("Could not obtain connection metadata", sqle);
}
+ catch (UnsupportedOperationException uoe) {
+ // user supplied JDBC connections
+ }
}
- catch (SQLException sqle) {
- log.warn("Could not obtain connection metadata", sqle);
- }
- catch (UnsupportedOperationException uoe) {
- // user supplied JDBC connections
- }
settings.setDataDefinitionImplicitCommit( metaReportsDDLCausesTxnCommit );
settings.setDataDefinitionInTransactionSupported( metaReportsDDLInTxnSupported );
> Allow tooling to create Settings via SettingsFactory without contacting the db
> ------------------------------------------------------------------------------
>
> Key: HHH-2372
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2372
> Project: Hibernate3
> Type: Improvement
> Components: core
> Versions: 3.2.1
> Reporter: Max Rydahl Andersen
>
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list