水平野(すいへいや)

思ったこと考えたことを書いていく

JPA2と組み込みDerbyで楽々RDB作りができるかもしれない

最近はプログラミングがサクサク進んでいる。そこで得た知見を少しだけまとめたい。

Java EEあるいはJakarta EE

最近はRDBにアクセスするORMツールとしてJPA2を使ってみている。継問とかあとは作ろうとしている会社のRDBJava EEあるいはJakarta EEのものでアクセスしたい気持ちがあったからだ。というのも、もともとサーバーサイドのフレームワークではJava EEを使っていて、巷で流行っているSpringにはほとんど関心がなかった。というかそもそも仕事でJavaを使ったことがないので、色々なフレームワークに触れる機会がなかったのだが、趣味で作る場合は慣れているJava EEを使う場合が多かった。なので、このまま慣れているもので行こうとしている。

ただ、Java EEあるいはJakarta EEはとても大きな仕様で、一つ一つのプロダクトの集合なのだが、そのどれをとっても奥深く容易に理解できるようなものではなかったし、JPAもそうそう理解できていたわけではなかった。

だが、色々とどうすればいいかを試行錯誤しているうちにJPAをどう使えばいいかのコツがつかめてきた。

JPAは便利

はっきりいってJPAは便利だ。顔といってもいいJPQLもSQLに慣れている人からは癖があるだろうし私も苦戦していたが、だんだんやり慣れてくるととても使い勝手のいい問い合わせ言語であると思えるようになった。

直にRDBにアクセスしないことによる結果はひとそれぞれ良し悪しがあるだろうが、私にはとてもいい仕様だと思う。それにRDBの設計がとてもうまくいく手ごたえがある。

開発環境の工夫

そして、そう思える要因として開発環境の工夫があった。容易なテストができないか模索していたらApache Derbyの組み込み型のRDBがとても便利で、JPAでの開発ととても相性がいいことに気づいたのだ。普通テストでRDBにアクセスする場合は苦労することが多いが、これならとても楽にJPAの学習および実験とRDBの設計ができる。

そして、IDEとしてはEclipse Java EE IDE for Web Developersを使っている。これもとてもJPAと相性がいい。そういえば、Java EEもといJakarta EEは今はEclipse Foundationのプロダクトなった。今後のことを考えれば、Eclipseを使うならJPAJPAを使うならEclipseという流れになるのではないだろうか。

そのうちQiitaに

いま、継問と作りたい会社用にJPAを使っているが、サンプルをGitHubにあげたいと思っている。こうするととても簡単にしかもうまくいく、という手本を共有したいし、またいまだに記事を書いていないQiitaに書くネタができたと思うので、ちょっとやってみたい。