本稿はデータベースソフトウェア「SQL Anywhere」およびデータベース全般に関する英語ドキュメントを翻訳する形で提供しています。図など、部分的に英語のままになっていますが、製品のSQL Anywhere自体は完全に日本語化されていますのでご安心ください。
私はいくつか前の投稿で、SQL AnywhereのデータベースをリバースエンジニアすることでHibernateの設定ファイルとそれに対応するJavaクラスを生成する方法について述べました。そのときに使ったのは、既に廃止されたMiddlegenとAnt、そしてEclipse GanymedeからHibernate Toolsのプラグインを利用するやり方です。
私の経験から言うと、MiddlegenもHibernate Toolsのプラグインも、とりわけ堅牢なツールというわけではありません。Middlegenのソフトウェアは今や過去のものです。またHibernate ToolsのプラグインはEclipseを必要としますが、Eclipseの使用環境のセットアップは驚くほど厄介なものです(たまたま私にとってそうだったという可能性もありますが、おそらく違うでしょう)。さらに、セットアップの過程で少しでも間違いがあると、Hibernate Toolsのプラグインは無益な(もしくは誤った)挙動をするようになります。
そこでこの投稿では、代わりにSybase PowerDesigner 15.2(注:日本語版はなくサイベース日本法人での国内正式提供はないため要問合せ)を利用する方法を紹介します。PowerDesignerはバージョン11以来、Hibernateをサポートしてきました。(この時点で)最新のリリースであるPowerDesigner 15.2(ちなみにPowerDesigner 15.2 EBFはリリース間近のSQL Anywhere 12をサポート予定)は、HibernateとNHibernateの''両方''のリバースエンジニアリングをサポートします。これにより、該当するC#もしくはJavaのクラスファイルを作成することができます。
しかし悲しいかな、SQL Anywhereのパッケージに無料で含まれるPowerDesigner Physical Modeler(注:日本では現在ライセンス/サポートしていません)はHibernateをサポートしていません。PowerDesignerのフルバージョンにのみHibernateとNHibernateの拡張機能がついてきます。しかしながら、HibernateやNHibernateを使ってSQL Anywhereのアプリケーションを開発している方は、作業の効率化のためPowerDesignerの購入を検討するべきだと思います。PowerDesignerのHibernateサポートは実に優秀だからです。