Hi,
I have a sample application with Spring1.2.1, Hibernate 3.0.5 and Oracle 8.1.6 and I've found that it takes about 11 seconds!! to make an insert into an Oracle Database.
I have traced and found that the calls to TransactionAspectSupport.createTransactionIfNecess ary(), and TransactionAspectSupport.doCommitTransactionAfterR eturning(), eat up most of the time.
The same configuration and code takes up millis when inserting into a HSQL DataBase.
I'm running jdk 1.5.0_03.
Any help will be appreciated.
Regards.
Rodolfo Martín.
My application-context
My Dao implementation:Code:<beans> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>db.properties</value> </list> </property> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"><value>${jdbc.driverClassName}</value></property> <property name="url"><value>${jdbc.url}</value></property> <property name="username"><value>${jdbc.username}</value></property> <property name="password"><value>${jdbc.password}</value></property> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <constructor-arg><ref local="dataSource"/></constructor-arg> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"><ref local="dataSource"/></property> <property name="mappingResources"> <value>com/mycompany/myapp/hibernate/mapping.hbm.xml</value> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> <property name="eventListeners"> <map> <entry key="merge"> <bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener"/> </entry> </map> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"><ref local="sessionFactory"/></property> </bean> <bean id="propertyManagerTarget" class="com.mycompany.myapp.hibernate.TestDao"> <property name="sessionFactory"><ref local="sessionFactory"/></property> </bean> <bean id="propertyManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"><ref local="transactionManager"/></property> <property name="target"><ref local="propertyManagerTarget"/></property> <property name="transactionAttributes"> <props> <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="store*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> </beans>
Code:public class TestDao extends HibernateDaoSupport implements Test{ public <T extends TestData> void store(T testData) throws DataAccessException { getHibernateTemplate().merge(testData); } }


Reply With Quote