Для того чтобы вынести настройки hibernate в приложении, которое использует spring достаточно добавить свойства в объявлении бина sessionFactory.

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="annotatedClasses">
        <list>
            <value>ru.izebit.Model</value>
        </list>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="enable_lazy_load_no_trans">false</prop>
            <prop key="hibernate.hbm2ddl.auto">validate</prop>
        </props>
    </property>
</bean> 

Можно пойти дальше и вынести некоторые часто изменяемые параметры в tomcat context.xml

<?xml version='1.0' encoding='utf-8'?>

<context>
    <!--источник подключений к базе данных-->
    <resource name="jdbc/myDataSource" auth="Container"
              type="javax.sql.DataSource"
              driverClassName="oracle.jdbc.OracleDriver"
              url="jdbc:oracle:thin:@izebit.ru:1521:orcl"
              username="user" password="password"
              maxActive="100" maxIdle="10" maxWait="-1" initialSize="10"/>

    <!--диалект hibernate-->
    <environment name="hibernate.dialect" type="java.lang.String" value="org.hibernate.dialect.Oracle10gDialect"/>
    <!--схема подключения hibernate-->
    <environment name="hibernate.default_schema" type="java.lang.String" value="user_schema"/>
</context>

Добавляем свойства в spring контекст

<jee:jndi-lookup id="dataSource" jndi-name="jdbc/myDataSource" expected-type="javax.sql.DataSource"/>
<jee:jndi-lookup id="dialect" jndi-name="java:comp/env/hibernate.dialect" expected-type="java.lang.String"/>
<jee:jndi-lookup id="schema" jndi-name="java:comp/env/hibernate.default_schema" expected-type="java.lang.String"/>
   
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="hibernateProperties">
            <props>
                <prop key="enable_lazy_load_no_trans">false</prop>
                <prop key="hibernate.hbm2ddl.auto">validate</prop>
                <prop key="hibernate.dialect">#{dialect}</prop>
                <prop key="hibernate.default_schema">#{schema}</prop>
            </props>
        </property>    
</bean>

Бывают случаи, что полностью отказаться от hibernate.properties нет возможности, но при этом требуется, чтобы некоторые параметры задавались динамически через контекст томката. Для этого необходимо создать бин, который будет при старте приложения, выставлять эти параметры.

<!--загрузка файла hibernate.properties-->
<util:properties id="hibernateProperties" location="classpath:spring/hibernate.properties"/>

<!-- достаем параметр из context.xml tomcat'a-->
<jee:jndi-lookup id="dialect" jndi-name="java:comp/env/hibernate.dialect" expected-type="java.lang.String"/>

<bean lazy-init="false" id="dialectSetter" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="targetObject" ref="hibernateProperties"/>
        <property name="targetMethod" value="setProperty"/>
        <property name="arguments">
            <array>
                <value>hibernate.dialect</value>
                <ref bean="dialect"/>
            </array>
        </property>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" depends-on="dialectSetter">
        <property name="hibernateProperties" ref="hibernateProperties"/>
</bean>

Очень важно, чтобы бин dialectSetter инициализировался раньше, чем sessionFactory, для этого нужно явно прописать зависимости depends-on = "dialectSetter", иначе параметры могут не проставиться.