Предупреждение при использовании Apache Derby в памяти - PullRequest
9 голосов
/ 24 марта 2011

У меня есть ряд модульных тестов, которые используют Apache Derby в памяти.URL моего подключения: jdbc:derby:memory:srf.derby;create=true

Я обнаружил, что каждый раз, когда метод, отмеченный как @Transactional, заканчивается, я получаю предупреждение Derby

12:53:28:5328 [org.hibernate.util.JDBCExceptionReporter] [main] WARN  - SQL Warning: 10000, SQLState: 01J01
12:53:28:5328 [org.hibernate.util.JDBCExceptionReporter] [main] WARN  - Database 'memory:srf.derby' not created, connection made to existing database instead.

Почему это так?Что я делаю не так?

Спасибо

1 Ответ

8 голосов
/ 24 марта 2011

Вы не делаете ничего плохого.Вы передаете '; create = true' каждый раз, но база данных создается только при первом обращении к ней вашей программы.Так как она находится в памяти, база данных затем зависает до тех пор, пока ваша программа не завершится, и в этот момент она исчезнет.

Вы можете избежать предупреждения, передав «; create = true» только в первом тесте в вашем наборе тестов.и последующим тестам не нужно передавать это значение.

Или вы можете просто не беспокоиться о предупреждении.

...