Я использую базу данных h2 во встроенном режиме, также я использую спящий режим для доступа к ней. Это моя конфигурация spring, которую я использую для инициализации спящего режима:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="annotatedClasses">
<list>
<value>classname1</value>
<value>classname2</value>
<value>classname3</value>
</list>
</property>
</bean>
when I try insert data database works very, very slow and I have very huge IO stream (as fast as hard drive is able). I think database is opened and closed every time when
getHibernateTemplate().save(question);is called. What is interesting, if I change connection string to use standalone server this problem disappears and all works nice.
Что не так с моей конфигурацией для встроенных баз данных?
UPD
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.h2.jdbcx.JdbcDataSource" />
<property name="url" value="jdbc:h2:file:C:\temp\data.db" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
dataSource
? Используете ли вы пул соединений и каковы параметры конфигурации? - person Benjamin Muschko   schedule 26.06.2011;DB_CLOSE_DELAY=1
к URL-адресу базы данных? Я не слишком хорошо знаю Spring, но если этоDriverManagerDataSource
, почему бы вам просто не использоватьorg.h2.Driver
? - person Thomas Mueller   schedule 26.06.2011