かつのりの日記2

わんくまでは珍しいJavaを中心とした日記です

目次

Blog 利用状況

書庫

日記カテゴリ

いろいろリンク

コードの自動生成

コードの自動生成って皆さんやっていますか?というか、.NET界隈では当たり前なのでしょうか。

今回のプロジェクトではHibernateというORマッパーを使用しているのですが、DBのメタデータからマッピング対象のJavaBeanクラスを自動生成してくれる周辺ツールもあり、大変ありがたく使っています・・・?

Hibernate Toolsというツールを使っているのですが、生成されるコードの命名規約やJavadocのルールがどうも気に食わないんですよね。コーディング規約も用意していて、しかもJavadocの未定義は警告っていうようにEclipseの設定を行っているので、黙っていると警告だらけになり、本来の致命的な警告が見えなくなります。

そこでツールを調べると、ツールにReverseEngineeringStrategyというクラスのサブクラスを指定することで、DBのメタデータをJavaの名前に変換するルールを変更できるではありませんか。カラムに付随するJavadoc生成のためのメタデータの生成も可能です。しかし・・・n:1マッピングには対応できるのですが、1:nマッピングには対応できないのです。これってどうやるんだろう・・・難しい・・・

どうも海外製ツールは日本人の好みに合わせては作られていない事が多いので、カスタマイズする必要があります。今回もソースコードをプロジェクトにインポートしてデバッグしながらコード生成の調査を行っています。何か効率のいい方法ってないものですかね。

自動生成部分にはコーディング規約を適用しないとか、警告の対象外にするしかないのかな・・・自動生成ツールに3日くらいかけても、DBの変更が発生するたびに工数を稼げるので、確実に得するのは分かっているんですが、これ以上時間もかけられないかなと感じているところです。

 

投稿日時 : 2007年7月11日 23:23

Feedback

# re: コードの自動生成 2007/07/12 10:53 nagise

自動生成コードには泣かされますね。
VisualEditorでswingのデザインをした場合もやはり警告の嵐に泣かされました。

ある程度のフォーマットの違いは、生成後に一括してフォーマッタで変換してしまえばいいのですが、javadoc未定義みたいなのは手が打てないなぁ…。
警告抑制のアノテーションもあったはずですが、多用は厳禁ですし。

昨今のプラグイン指向の強まりからすると、自動生成ツール側にもフォーマッタを外部から指定できるとか、高機能化が期待できるかもしれませんね。…何年待つんだ orz

タイトル
名前
Url
コメント