Grails
GORMで管理されるドメインクラスには、クラスおよびオブジェクト上で永続性操作を行う動的メソッドと静的メソッドがある。
Grailsは、ドメインクラスからコントローラやビューを自動生成する機能も提供している。これはScaffoldと呼ばれる機能で、静的Scaffoldと動的Scaffoldの2種類のScaffoldが提供されている。
静的Scaffoldを行うには、ドメインクラス Book を作成した後に以下のようなコマンドを使う。
このコマンドによって、基本的な CRUD (Create, Read, Update, Delete) 操作をすべて行うことができる雛形が生成される。コントローラ BookController や、4つのビュー list.gsp、 create.gsp、 edit.gsp、 show.gsp などである。このScaffoldによって、Grailsアプリケーション開発者は、ドメインクラスを記述するだけで基本的なCRUD操作が可能なWebアプリケーションの雛形を得ることができる。
また、コントローラに以下のように記述することで、任意のドメインクラスを動的Scaffoldすることができる。
動的Scaffoldは、静的Scaffoldのようなファイル生成を行わず、CRUD 操作を http://localhost:8080/myapp/book/ 上で提供する。
Grails はJavaプラットフォーム上に構築されているため、Javaライブラリ、フレームワーク、既存コードベースとの連携が容易である。特に Hibernate ORMフレームワークとはクラスの透過的連携を実現している。したがって、Hibernate を使った既存アプリケーションを再コンパイルや再設定することなく、上述の動的永続性メソッドを使ってGrailsを使うことができる。
その結果、Hibernate にマッピングされたJavaクラスのために scaffolding を設定できる。また、Grails Webフレームワークの機能は全て、これらのクラスとそれを使うアプリケーションに使用可能である。