9

メモリ内でApacheDerbyを使用する単体テストがいくつかあります。私の接続URLは次のとおりです。jdbc:derby:memory:srf.derby;create=true

毎回、としてマークされたメソッド@Transactionalが終了すると、ダービーの警告が表示されることを発見しました

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.

それはなぜです?私が間違っているのは何ですか?

ありがとうございました

4

1 に答える 1

9

あなたは何も悪いことをしていません。毎回「;create=true」を渡していますが、データベースはプログラムが最初にアクセスしたときにのみ作成されます。インメモリであるため、データベースはプログラムが終了するまでハングアップし、プログラムが終了すると消えます。

テスト スイートの最初のテストでのみ ';create=true' を渡すことで、警告を回避できます。その後のテストでは、その値を渡す必要はありません。

または、警告について心配する必要はありません。

于 2011-03-24T13:43:59.383 に答える