Io stesso utilizzo il database in memoria di hsql per testare il mio DAO. Di conseguenza, non ho bisogno di essere collegato a qualsiasi server db esterno o di avere alcuna connessione di rete.
Utilizzare le seguenti impostazioni:
jdbc.driverClassName=org.hsqldb.jdbc.JDBCDriver
jdbc.url=jdbc:hsqldb:mem:DatabaseName
includono anche il
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
<prop key="default_schema">test</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">false</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
</props>
</property>
Questo vi permetterà di utilizzare il database in memoria e crea automaticamente le tabelle del database di ibernazione oggetti prima di eseguire i test.
Spero che questo ti possa aiutare.
Nota:
La proprietà "DEFAULT_SCHEMA" viene utilizzato quando il DBA crea più schemi all'interno di un unico database. Ho visto questo con postgres in cui tutti usano un URL del database ma sotto ci sono schemi separati per ogni applicazione.
Utilizzando la proprietà schema predefinita consente di mantenere i nomi degli schemi fuori dalle entità. Ciò è particolarmente utile se si eseguono test contro HSqlDB che non supporta gli schemi e si distribuisce su un DB che utilizza schemi. Avere un valore nullo significa semplicemente ritornare allo schema di default del DB.
Attualmente sto lavorando a un'applicazione in cui è necessario un database in memoria per i test automatizzati JUnit. Il seguente articolo ha risposto a molte delle mie domande: [http://tshikatshikaaa.blogspot.de/2012/09/junit-testing-spring-service-and-dao.html](http://tshikatshikaaa.blogspot.de/2012/09/junit-testing-spring-service-and-dao.html) –