2015-05-08 4 views
-1

Я разрабатываю очень крупномасштабное приложение J2EE, и мы решили использовать Derby как встроенную базу данных для тестирования junit, так как попадание фактической базы данных prod замедлит наши тесты. Когда я загружаю свое приложение, Derby DB создаст все таблицы, чтобы я мог запускать JDBC-запросы против него. Он работает нормально, но недостатком является то, что я не могу фактически запрашивать ни одну из таблиц, кроме как через вызовы JDBC во время выполнения, поэтому, если мне нужно внести изменения в мои запросы, мне нужно остановить приложение, изменить мои запросы, а затем перезапустить приложение и запустить в отладке. Этот процесс очень затрудняет анализ сложных запросов. Кто-нибудь знает какой-то плагин Derby, который может помочь мне запросить БД, не делая этого через мой Java-код?Java Embedded Derby Database Plugin?

+0

Проблема в том, что вы не можете получить доступ к базе данных во время работы приложения, потому что вы получаете доступ к другой базе данных для этой базы данных? Если это так, вы можете использовать так называемый «встроенный сервер». –

ответ

0

Если вы используете Maven для своей сборки, вы можете использовать derby-maven-plugin, который я написал и доступен на GitHub и через Maven Central. Он будет заботиться о запуске и остановке базы данных для вас перед вашими испытаниями. Разумеется, вам нужно будет заполнить эту базу данных. У вас также будет база данных в вашей папке target/derby после выполнения тестов, поэтому вы всегда можете запросить данные самостоятельно. Это поможет вам работать в отдельной среде разработки, которая не влияет на производственную базу данных.

Вы можете проверить here для ответа на подобный вопрос.