History
Log In
h
ome
b
rowse project
f
ind issues
Q
uick Search:
Learn more about
Quick Search
Issue Details
(
XML
|
Word
|
Printable
)
Key:
HHH-2372
Type:
Improvement
Status:
Closed
Resolution:
Fixed
Priority:
Major
Assignee:
Steve Ebersole
Reporter:
Max Rydahl Andersen
Votes:
0
Watchers:
0
Operations
If you were
logged in
you would be able to see more operations.
Hibernate Core
Allow tooling to create Settings via SettingsFactory without contacting the db
Created:
19/Jan/07 08:22 AM
Updated:
20/Feb/07 07:08 AM
Component/s:
core
Affects Version/s:
3.2.1
Fix Version/s:
3.2.2
Time Tracking:
Not Specified
Issue Links:
Prerequisite
This issue
required for
:
HBX-887
Do not auto run schemaexport and databasemetadata introspection
All
Comments
Work Log
Change History
FishEye
Sort Order:
[
Permalink
|
« Hide
]
Max Rydahl Andersen
added a comment -
19/Jan/07 08:22 AM
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 );
[
Show »
]
Max Rydahl Andersen
added a comment -
19/Jan/07 08:22 AM
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 );
[
Permalink
|
« Hide
]
Steve Ebersole
added a comment -
19/Jan/07 08:46 AM
trunk / 3.2
the actual setting name used was 'hibernate.temp.use_jdbc_metadata_defaults'
[
Show »
]
Steve Ebersole
added a comment -
19/Jan/07 08:46 AM
trunk / 3.2 the actual setting name used was 'hibernate.temp.use_jdbc_metadata_defaults'
===================================================================
--- 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 );