8/1の記事でもご紹介したRelaxerですが、ちょっと試してみました。XMLドキュメントとJavaオブジェクトのやり取りについては、難なくできるなという印象です。XMLドキュメントとRDBでは、1つのXMLドキュメントがRDBの1レコードにマップされるので、大きなXMLドキュメントだと無理があるようです。逆に、私のXMLドキュメントの作り方がまずいのかもしれないと思いました。というのは、私は商品リストのようなデータ定義を作ったのですが、これがまずいかなと・・・。データ定義としては商品リストではなくて、(1つの)商品データという形であって、それの集合体として商品リストを表現するほうが正しいのかもしれませんね。細かい説明はここではしませんが、RelaxerによるRDBへのマッピングでは、ルート直下のエレメントは検索対象に使えますが、それより下階層はXMLの断片として存在するのみで、検索対象には使えないのです。
8/1に紹介した@ITの記事でも、データ定義が重要な工程になるという話がありましたが、XMLを扱う上で、より扱いやすいデータ定義を考えることは重要ですね。