JPAでO/Rマッパーに慣れてからというもの通常のSQLをごりごり書くのが億劫になってきました。
億劫というかいろいろとリスクがありますね。
問題点としてはコンパイルするときにエラーが検知できなかったり、SQLを書かなければいけないことでしょう。
そうはいってもJPAはサーバーサイドJavaだと必ずGlassfishを通さないといけません。
現状だとテストコードが非常に重かったりと、正直実用性が低いです。
そこで直でデータベースにアクセスできるO/Rマッパーを探していたところ、iciqlというライブラリを発見しました。
が、インストールの点からいろいろと大変でした。リモートリポジトリを使うようです。
リモートリポジトリについて
いつも何も考えずにpomに突っ込んでダウンロードしていたのでイレギュラーになると途端に対応できません(汗)
pomにdependency~と記述して、解決する場合はMavenのセントラルリポジトリにライブラリが登録されている場合です。
ここに管理されているものに関してはdependency~で一気にダウンロードできます。
しかし、セントラルリポジトリに登録されてないものに関してはリポジトリを新たに登録する必要があります。
これをリモートリポジトリといいます。
その場合、dependency~の前にrepositoryタグを使う必要がでてきます。
TECH SCORE Maven 3章 Maven 入門 (2)
具体的なpomへの記述は下記のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<project> ・・・・ <repositories> <repository> <id>com.iciql</id> <name>Iciql</name> <url>http://gitblit.github.io/iciql/maven/</url> <layout>default</layout> </repository> </repositories> <dependencies> ・・・・・・ <dependency> <groupId>com.iciql</groupId> <artifactId>iciql</artifactId> <version>1.6.5</version> </dependency> </dependencies> </project> |
これでNetbeansから一気に「依存性でビルド」で解決できました。
これに気づくまでは自分のローカルリポジトリに入れたりとかしてたんですけど上記の対策で大丈夫なようです。
ちなみにローカルのリポジトリに入れるのは↓このリンクが参考になります。
で、肝心のiciqlについてはまだ完ぺきではないので随時調べた後にまたブログを書きます。