質問: Doma-Gen 1.35 で SQLServer2012に接続し Dao・Entityクラスの自動生成を試しているのですが、EntityクラスのフィールドJavadocコメントが空っぽ状態となり困っています。 Doma-GenでSQLServerのテーブル自動生成する場合、コメントは生成できないのでしょうか?? doma-gen-build.xmlのEntityConfigはデフォルト(showDbComment=true)のままです。 コメントは下記の手順で設定しています。 > > [オブジェクトエクスプローラー] → 対象のテーブルを選択して[右クリック] → [デザイナ] → 対象のカラムを選択 → [列のプロパティ]の下のほうにある[説明]の項目に付けたい説明を入力 > > > ※関係ないかもしれませんが・・・ カラムの説明取得SQLの取得方法を利用すると説明は取得できるのですが 内部で発行しているっぽいT-SQL(sp_columns_100)では取得できないことまで確認はしました・・・。
回答: 原因はSQLServerのJDBC Driverが対応していないからだと思います。 Doma-GenはDatabaseMetaData#getColumns)のREMARKS列を使ってJavadocコメントを生成していますが、SQLServerのJDBC DriverのドキュメントでDatabaseMetaData#getColumnsのREMARKS列を確認すると以下のような注意書きが見られます。 > > SQL Server always returns null for this column > > > SQLServer固有の方法で取得できるのであれば、Doma-GenをカスタマイズすることでJavadocコメントをセットすることができると思います。