Легкая база данных Java с плагином Maven для запуска / остановки? - PullRequest
5 голосов
/ 17 ноября 2009

Для модульных тестов, демонстраций и задач Hibernate я хотел бы использовать небольшую и простую базу данных Java, такую ​​как Derby / Java DB или HSQLDB, которую можно вызывать из Maven.

До сих пор я не нашел плагин Maven, который мог бы загружать и запускать Java DB (который сейчас мой любимый) или что-то подобное.

Ответы [ 3 ]

6 голосов
/ 17 ноября 2009

Простая настройка для модульных тестов - запустить hsqldb в памяти :

db.connection.driver_class=org.hsqldb.jdbcDriver
db.connection.url=jdbc:hsqldb:mem:aname
db.connection.username=sa
db.connection.password=
hibernate.dialect=org.hibernate.dialect.HSQLDialect

Не нужно запускать и останавливать. Драйвер JDBC «запустит» базу данных.

Вы можете использовать это и для демонстраций. Если вы инициализируете базу данных во время запуска приложений.

Настройка базы данных может быть выполнена с помощью hibernate.hbm2ddl.auto .


Редактировать kdgregory :

Чтобы Maven включил HSQLDB в зависимости только для фазы тестирования, используйте это в своем POM:

<dependency>
    <groupId>hsqldb</groupId>
    <artifactId>hsqldb</artifactId>
    <version>1.8.0.7</version>
    <scope>test</scope>
</dependency>
2 голосов
/ 26 февраля 2013

Как описано в моем ответе , вы можете использовать Derby в качестве базы данных с помощью плагина derby-maven-plugin, который я написал и который доступен на GitHub и через Maven Central. С Derby в качестве базы данных в памяти для тестов ваша жизнь будет простой, с точки зрения CI - не нужно устанавливать и настраивать внешний бит программного обеспечения только для ваших тестов, когда вы можете просто сделать все это с Maven.

0 голосов
/ 17 ноября 2009

Я понятия не имею, поддерживает ли он то, что вам нужно, но SQLite настолько популярен, что, кажется, имеет встроенные плагины с чем угодно. Проверьте это.

...