[from now] 2014/04/23 23:55:57

diff --git a/controller/databinding.md b/controller/databinding.md
index 18c320a..e6ce68b 100644
--- a/controller/databinding.md
+++ b/controller/databinding.md
@@ -199,6 +199,61 @@ class Person {

 ## 関連クラスのバインディング

+Grailsは`.`区切りのリクエストパラメータを構造化されたマップとして`params`に格納します。
+例えば`author.name=yamada`というリクエストパラメータは`[author: [name: yamada]]`という形で`params`に格納されます。
+この構造化されたマップのデータを使用することで、関連クラスに対してもデータをバインドすることができます。
+
+まずは単一クラスの関連のバインディングから見て行きましょう。
+
+### 単一クラスのバインディング
+
+次のように`Author`クラスを関連クラスに持つ`Book`クラスがあるとします。
+
+```groovy
+class Book {
+    String title
+    Author author
+}
+class Author {
+    String name
+}
+```
+
+この時、次のようにバインディングできます。
+
+```
+def dataSource = [title: "My Book", author: [name: "yamada"]]
+def book = new Book(dataSource)
+assert book.title == "My Book"
+assert book.author.name == "yamada"
+```
+
+コンストラクタを使ってバインディングをする場合は、`Book`クラスの`author`は`new Author()`で変数を初期化しておく必要はありません。
+データをバインドするときに、自動的にインスタンスが生成されます。
+
+次のように`properties`や`bindData`を使って、既存のインスタンスに対してデータバインディングをする場合は、新規にインスタンスが生成されることはなく、既存のインスタンスの値が上書きされます。
+
+```
+def book = Book.get(1)
+assert book.title == "Old Title"
+assert book.author.name == "Old Name"
+
+def dataSource = [title: "New Book", author: [name: "New Name"]]
+book.properties = dataSource
+assert book.title == "New Book"
+assert book.author.name == "New Name"
+```
+
+また、関連クラスがドメインクラスの場合は`id`パラメータを指定することで自動的にインスタンスを読み込んで設定することができます。
+
+```
+def dataSource = [title: "My Book", author: [id: "1"]]
+def book = new Book(dataSource)
+assert book.author == Author.get(1)
+```
+
+### コレクションのバインディング
+

 ## アクションの引数