Я использую Дерби. Во-первых, это примерно на 3 строки кода на единицу теста, так как нет необходимости в завершении работы после теста. Однако вам нужно использовать реализацию JPA, которая может отбрасывать и создавать таблицы, такие как EclipseLink.
Derby также может инициализировать новую базу данных в памяти из файла, чтобы вы могли иметь справочную базу данных и вернуться к ней в любое время.
Однако для модульного тестирования я предпочитаю создавать свои объекты в логике моего модульного теста @Before, особенно с JPA, так как он позволяет мне гибко выполнять рефакторинг и не беспокоиться о базовой структуре базы данных, других инструментах такие как DBunit полагаются практически на статическую структуру, а рефакторинг подразумевает изменение XML-файлов DBunit вручную, а не использование возможностей рефакторинга Eclipse.