山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

JavaDBサンプル

今度web媒体に出す記事用でJavaDBを

ためしに使ってみました。

eclipseのサンプルプロジェクトをgithub

上げました。

https://github.com/hiroto-yamashita/javadb-sample


JavaDBはJDKに付属のRDBです。

もともとはApache DerbyというJavaベースの

オープンソースRDBです。

単一のjarファイルで動作します。

サーバーとして起動することもできますし、

サーバーでない形で動作させることもできます。

サーバーでない形の場合はローカルで

シングルユーザーのみになります。


JDKをインストールすると一緒にインストール

されます。

JDK7 windowsの場合

%JAVA_HOME%/db/lib

の下に入っていました。

ただしそのままではクラスパスが通って

いないので使うときはクラスパスを通します。

サーバーでなく動かす場合、JDBCドライバの

クラスは

org.apache.derby.jdbc.EmbeddedDriver

接続文字列は

jdbc:derby:DBのファイルパス;create=XXXX

になります。

XXXXにはtrueかfalseが入り、trueだとファイルが

ない場合に自動的に作成されます。


これだけでRDBが使えます。

サンプルで使うだけの場合はとてもお手軽で

便利です。


そのほか気づいたこと。

最新のEclipse4.3ではMavenもGitも統合されて

いるのでとても使いやすくなりました。

統合されているのはJavaEEのほうです。


Hibernate4.2ではSessionの取り方が

面倒になりました。

Configuration config = new Configuration();
config.configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
.applySettings(config.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory = config.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.getCurrentSession();

このようにServiceRegistryというものを

作って渡さないといけなくなりました。

リファレンスに出ているコードは古いままで

deprecatedの警告が出ます。

なぜこんなめんどくさくしてしまった

のでしょうか・・


またJPAアノテーションがAnnotationConfiguration

でなくただのConfigurationで動くように

なったようです。