[hibernate-commits] Hibernate SVN: r10844 - in trunk/Hibernate3/src/org/hibernate: cfg impl

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Nov 17 17:15:28 EST 2006


Author: steve.ebersole at jboss.com
Date: 2006-11-17 17:15:26 -0500 (Fri, 17 Nov 2006)
New Revision: 10844

Modified:
   trunk/Hibernate3/src/org/hibernate/cfg/Environment.java
   trunk/Hibernate3/src/org/hibernate/cfg/Settings.java
   trunk/Hibernate3/src/org/hibernate/cfg/SettingsFactory.java
   trunk/Hibernate3/src/org/hibernate/impl/SessionFactoryImpl.java
Log:
HHH-2193 : flag to control named query checking

Modified: trunk/Hibernate3/src/org/hibernate/cfg/Environment.java
===================================================================
--- trunk/Hibernate3/src/org/hibernate/cfg/Environment.java	2006-11-17 22:15:05 UTC (rev 10843)
+++ trunk/Hibernate3/src/org/hibernate/cfg/Environment.java	2006-11-17 22:15:26 UTC (rev 10844)
@@ -414,12 +414,21 @@
 	 * The classname of the HQL query parser factory
 	 */
 	public static final String QUERY_TRANSLATOR = "hibernate.query.factory_class";
+
 	/**
 	 * A comma-seperated list of token substitutions to use when translating a Hibernate
 	 * query to SQL
 	 */
 	public static final String QUERY_SUBSTITUTIONS = "hibernate.query.substitutions";
+
 	/**
+	 * Should named queries be checked during startup (the default is enabled).
+	 * <p/>
+	 * Mainly intended for test environments.
+	 */
+	public static final String QUERY_STARTUP_CHECKING = "hibernate.query.startup_check";
+
+	/**
 	 * Auto export/update schema using hbm2ddl tool. Valid values are <tt>update</tt>,
 	 * <tt>create</tt>, <tt>create-drop</tt> and <tt>validate</tt>.
 	 */

Modified: trunk/Hibernate3/src/org/hibernate/cfg/Settings.java
===================================================================
--- trunk/Hibernate3/src/org/hibernate/cfg/Settings.java	2006-11-17 22:15:05 UTC (rev 10843)
+++ trunk/Hibernate3/src/org/hibernate/cfg/Settings.java	2006-11-17 22:15:26 UTC (rev 10844)
@@ -65,6 +65,7 @@
 	private boolean dataDefinitionImplicitCommit;
 	private boolean dataDefinitionInTransactionSupported;
 	private boolean strictJPAQLCompliance;
+	private boolean namedQueryStartupCheckingEnabled;
 //	private BytecodeProvider bytecodeProvider;
 
 	/**
@@ -247,7 +248,11 @@
 		return strictJPAQLCompliance;
 	}
 
+	public boolean isNamedQueryStartupCheckingEnabled() {
+		return namedQueryStartupCheckingEnabled;
+	}
 
+
 	// package protected setters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 	void setDefaultSchemaName(String string) {
@@ -422,6 +427,9 @@
 		this.strictJPAQLCompliance = strictJPAQLCompliance;
 	}
 
+	void setNamedQueryStartupCheckingEnabled(boolean namedQueryStartupCheckingEnabled) {
+		this.namedQueryStartupCheckingEnabled = namedQueryStartupCheckingEnabled;
+	}
 
 
 //	public BytecodeProvider getBytecodeProvider() {

Modified: trunk/Hibernate3/src/org/hibernate/cfg/SettingsFactory.java
===================================================================
--- trunk/Hibernate3/src/org/hibernate/cfg/SettingsFactory.java	2006-11-17 22:15:05 UTC (rev 10843)
+++ trunk/Hibernate3/src/org/hibernate/cfg/SettingsFactory.java	2006-11-17 22:15:26 UTC (rev 10844)
@@ -296,6 +296,10 @@
 		log.info( "Default entity-mode: " + defaultEntityMode );
 		settings.setDefaultEntityMode( defaultEntityMode );
 
+		boolean namedQueryChecking = PropertiesHelper.getBoolean( Environment.QUERY_STARTUP_CHECKING, properties, true );
+		log.info( "Named query checking : " + enabledDisabled( namedQueryChecking ) );
+		settings.setNamedQueryStartupCheckingEnabled( namedQueryChecking );
+
 //		String provider = properties.getProperty( Environment.BYTECODE_PROVIDER );
 //		log.info( "Bytecode provider name : " + provider );
 //		BytecodeProvider bytecodeProvider = buildBytecodeProvider( provider );

Modified: trunk/Hibernate3/src/org/hibernate/impl/SessionFactoryImpl.java
===================================================================
--- trunk/Hibernate3/src/org/hibernate/impl/SessionFactoryImpl.java	2006-11-17 22:15:05 UTC (rev 10843)
+++ trunk/Hibernate3/src/org/hibernate/impl/SessionFactoryImpl.java	2006-11-17 22:15:26 UTC (rev 10844)
@@ -348,20 +348,22 @@
 		}
 
 		//checking for named queries
-		Map errors = checkNamedQueries();
-		if ( !errors.isEmpty() ) {
-			Set keys = errors.keySet();
-			StringBuffer failingQueries = new StringBuffer( "Errors in named queries: " );
-			for ( Iterator iterator = keys.iterator() ; iterator.hasNext() ; ) {
-				String queryName = ( String ) iterator.next();
-				HibernateException e = ( HibernateException ) errors.get( queryName );
-				failingQueries.append( queryName );
-				if ( iterator.hasNext() ) {
-					failingQueries.append( ", " );
+		if ( settings.isNamedQueryStartupCheckingEnabled() ) {
+			Map errors = checkNamedQueries();
+			if ( !errors.isEmpty() ) {
+				Set keys = errors.keySet();
+				StringBuffer failingQueries = new StringBuffer( "Errors in named queries: " );
+				for ( Iterator iterator = keys.iterator() ; iterator.hasNext() ; ) {
+					String queryName = ( String ) iterator.next();
+					HibernateException e = ( HibernateException ) errors.get( queryName );
+					failingQueries.append( queryName );
+					if ( iterator.hasNext() ) {
+						failingQueries.append( ", " );
+					}
+					log.error( "Error in named query: " + queryName, e );
 				}
-				log.error( "Error in named query: " + queryName, e );
+				throw new HibernateException( failingQueries.toString() );
 			}
-			throw new HibernateException( failingQueries.toString() );
 		}
 
 		//stats




More information about the hibernate-commits mailing list