H2 DataBase Engineを使ってみよう〜解決編〜

調査の結果ようやくわかった。
JAVAからは
C:\eclipse\workspace\H2DBETest\test.data.db
を読みにいき、
ブラウザのDBマネージャーは
C:\H2\bin\test.data.db
に対して操作をおこなっていた。
そりゃ合うわけねーだろ!

ならば解決策はどっちかに統一すればいい。
データも含めてEclipseのプロジェクト側で持つか、JDBCの接続文字列を変えるか。
JDBCの接続文字列を変えるのも面倒なのでコンソールを開く時にeclipseのプロジェクト直下に保存されているデータにアクセスするようにしよう。
コンソールで接続する時に

jdbc:h2:file:C:/eclipse/workspace/H2DBETest/test

とすればいい
コンソールで接続して、改めて以下のSQLを流し込む

create schema red authorization sa;
create table RED.COLOR(id numeric not null primary key,name varchar2(30));
insert into RED.COLOR values(1,'red');
insert into RED.COLOR values(2,'blue');

スキーマ版にしたのでソースの方も修正する
redrisefirm.sample.h2.entity.Color.java

public class Color {
  public static final String TABLE = "RED.COLOR";
  private int id;
  private String name;
(getter/setterは省略)
}

ColorDao_getAllColors.sql

  select id,name from RED.COLOR order by id;

これでテストを実行したらグリーン!
よかったよかった。これでまた1つ使える道具が増えた。
今回はサクっとさわりということで全然試してないですが、H2ではスキーマやビューなんかも使えるようですし、
付属もpdfのマニュアルも情報が満載のようです。(英語ですがそんなに気にならないでしょう)
今後が非常に楽しみです。

最後に小情報、ブラウザから管理画面コンソールを開いていると、DBに対してロックをかけているためテストが通りません(SQLRuntimeExceptionで落ちる)