h2DBのデータベース名



 実験により、H2データベースは
JDBCのURLの

jdbc:h2:test

jdbc:h2://localhost/test

を、同じデータベースだと考えるようだと分かった。


・・・
しかしNetBeans

  BnbboACDB info1 =
    new BnbboACDB("atata", "atatatata", "ata@ata.com");
  manager.persist(info1);

と書いて、実行時エラーも見られないにもかかわらず、H2データベースのBNBBOACDBテーブルにはなんの変化も無いのはどういうことなのだろうか?データベースは大文字小文字の区別が無い(テーブル名は全て大文字になる)が、Javaコードのほうが小文字を含んでいるからだろうか?と思って全て大文字にリファクタリングしたが変化なし*1
 おっかしいなぁ・・・。

*1:ところでNetBeansリファクタリング不完全なんですけど[怒]。Javaコード上でBnbboACDBを選択して名前を変える→BNBBOACDBとしたら、BNBBOACDBクラスのコードまでちゃんと変えてくれるのはいいとして、BNBBOACDBクラスのアノテーション部分を忘れてるから実行時エラー出まくりなんだけどっ[怒々]!正確にはそのクエリー部分(select以下の部分)を@NamedQuery ( name ="BnbboACDB.findByEmail", query = "SELECT b FROM BNBBOACDB b WHERE b.email = :email")のようにクラス名と一致させないと実行時エラーが出る。一々手動で変更するの面倒くせぇ!・・・テーブル名は小文字でもいいらしいな。