Próbuję wykonać test jednostkowy mojego DAO (używając Spring i Hibernate). Korzystam z samouczka HSQLDB na temat this. Samouczek stwierdza, że bazę danych HSQLDB w pamięci można zainicjować za pomocą skryptu SQL, ale nie mogę znaleźć informacji o tym, jak to zrobić na wiosnę. Oto odpowiednia konfiguracja kontekstu sprężynowego:Jak zainicjować HSQLDB w pamięci za pomocą skryptu za pomocą sprężyny
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:mem:mydb" />
<property name="username" value="sa" />
<property name="password" value="" />
<property name="initialSize" value="5" />
<property name="maxActive" value="10" />
<property name="poolPreparedStatements" value="true" />
<property name="maxOpenPreparedStatements" value="10" />
</bean>
Każda pomoc zostanie doceniona. Dzięki.
'Różnica między trybem in-memory i file jest taka, że baza danych w pamięci jest pusta, ale tryb plików jest inicjowany danymi. Jedną z strategii, którą stosowałem w przeszłości, jest utworzenie autonomicznej bazy danych, zezwolenie Hibernate na tworzenie tabel i dodawanie danych dla mnie, zapisywanie danych w skrypcie, a następnie używanie adresu URL opartego na plikach do wskazywania skryptu. Dobrą stroną skryptu jest to, że jest to surowy SQL, więc możesz wstępnie wypełnić bazę danych dowolnymi danymi, które chcesz przetestować. To z postu, który łączyłeś, wyraźnie wspomina o tym procesie. –
Przeczytałem powyższe, ale myślę, że nie wstawiłem 2 i 2 razem, że wtedy używałbyś "pliku" wersji HSQLDB i zrobiłaby to w pamięci ze skryptem jako startowym. –