Fork me on GitHub

H2 Text型のjavaでの扱い

  • Apr 03, 2008

categoryプラグインは存在しません。

環境

  • Java SE 6u5
  • Groovy 1.5.4
  • H2 1.0.69 (2008-3-29)

内容

H2では、TEXT型はCLOB型と同様に扱われるため、Stringとして取得できない。

例えば、

create table HOGE (text1 varchar(100), text2 text);

と作ったテーブルは、Java(ここではGroovy)からは

db = Sql.newInstance('jdbc:h2:hoge','','','org.h2.Driver')
String str1 = "text1"
String str2 = "text2"
db.execute "insert into HOGE values (?, ?)", [str1, str2]

などとして普通にINSERTできるが、SELECT時には

row = db.firstRow("select * from HOGE")
println row.text1

は、String、

println row.text2

は、BufferedReaderになる。