1

Eclipse内からHibernateToolsをセットアップして、既存のDBに基づいてクラスを自動生成しました。表ごとに、SQLServer内の表と各列を文書化しました。そのドキュメント情報を使用して、生成されたクラスにコメントを付け、スキーマエンティティのドキュメントにデータを入力する方法はありますか?hbm.xmlマッピングファイルに配置できるメタタグがあるようですが、毎回自動生成されるので、それらを追加し直すか、新しい変更を継続的にマージする必要があります。さらに、理想的にはDBを「真実」の情報にし、この種の情報をマッピングファイルに保存しないようにします。誰かがこれが可能かどうか、もしそうならそれをどのように行うか知っていますか?ありがとう...

4

2 に答える 2

0

Hibernate ツール タスクを使用して HBM ファイルとデータベースから pojo クラスを生成すると、生成された Java クラスにドキュメントがデフォルトで追加されます。pojoTypeDeclaration ftl ファイルで確認できます。

/**
${pojo.getClassJavaDoc(pojo.getDeclarationName() + " generated by hbm2java", 0)}
 */
<#include "Ejb3TypeDeclaration.ftl"/>
${pojo.getClassModifiers()} ${pojo.getDeclarationType()} ${pojo.getDeclarationName()} ${pojo.getExtendsDeclaration()} ${pojo.getImplementsDeclaration()}

hbm ファイルに CLASS_DESCRIPTION などのメタ属性が宣言されている場合、pojo.getClassJavaDoc はドキュメントを生成します。

于 2015-07-12T13:43:18.523 に答える
0

そのドキュメント情報を使用して、生成されたクラスにコメントを付けたり、スキーマ エンティティのドキュメントを設定したりする方法はありますか?

私の知る限り、テーブルと列のコメントは、生成されたファイルの一部で使用されています。少なくとも次のhibernate-tools.jar.

  • doc/tables/table.ftl
  • hbm/column.hbm.ftl
  • hbm/persistentclass.hbm.ftl

たとえば、hbm/column.hbm.ftl次のようになります。

<#if column.isFormula()>
<formula>${column.getFormula()}</formula>
<#else>
<column name="${column.quotedName}" ${c2h.columnAttributes(column)}<#if column.comment?exists && column.comment?trim?length!=0>>
<comment>${column.comment}</comment>
</column><#else>/>
</#if>
</#if>

ただし、注釈付き POJO のテンプレートでは使用されないため、テンプレートを変更する必要があります。

于 2010-09-15T10:48:55.283 に答える