2009年3月、「Grails 1.1」がリリースされた。GrailsはJavaVM上で動作するスクリプト言語「Groovy」をベースに、DIコンテナ「Spring Framework」、O/Rマッピングフレームワーク「Hibernate」などのオープンソースフレームワーク上に構築されたフルスタックのWebアプリケーションフレームワークだ。
また、時期を同じくして「Groovy 1.6」もリリースされている。Groovy 1.6では特に性能改善が重点的に取り組まれており、以前のバージョンと比較して大幅な実行速度の向上が実現されている。
本稿ではGrails 1.1の新機能の中から特に重要なものをピックアップして紹介する。
単独でも使えるようになったGORM
Grails 1.1での最も大きなトピックはGrails標準のO/Rマッピングフレームワークである「GORM」がGrailsの外でも利用できることになったということだ。GORMはバックエンドの実装としてHibernateを使用しているが、Javaから直接Hibernateを利用する場合と比べると非常に簡単に扱うことができる優れたフレームワークだ。
また、GORMには以下のように多くの新機能が追加されている。
- イベントの追加(afteerInsert、afterUpdate、afterDelete)
- 基本型のコレクションの永続化
- 列挙型のコレクションの永続化
- オブジェクトへの読み取り専用アクセス
- デフォルトのソート順を指定可能になった
- バッチフェッチの件数を指定可能になった
- ダイナミックファインダの改善
- 列挙型サポートの改善
GORMが単独でも利用可能になったことで、今後はGrailsだけでなくGroovyでの標準的なO/Rマッピングフレームワークとしての普及が期待される。