9

Hibernate Tools を使用して SQL Server 2005 をリバース エンジニアリングしようとすると、奇妙なエラーが発生します。

org.hibernate.cfg.JDBCBinderException: 
     Duplicate class name 'CheckConstraints' generated for
     'org.hibernate.mapping.Table(e2rm_maintenance_development2.sys.check_constraints‌​)'. 
     Same name where generated for             
     'org.hibernate.mapping.Table(e2rm_maintenance_development2.sys.check_constraints‌​)' 

    Duplicate class name 'CheckConstraints' generated for 
    'org.hibernate.mapping.Table(e2rm_maintenance_development2.sys.check_constraints‌​)'. 
    Same name where generated for 
    'org.hibernate.mapping.Table(e2rm_maintenance_development2.sys.check_constraints‌​)'
4

3 に答える 3

16

開発ユーザーは通常、同様のテーブルを持つ複数のデータベース スキーマにアクセスできます。生成ツールは、これらすべてのデータベースの出力を生成しようとしますが、これによりクラス名が重複します (ddl 生成を要求しても)。

「reveng」セットアップを追加し、出力を 1 つのデータベース スキーマに制限します。

また、選択した「エクスポーター」から必要なパラメーターを追加します。必要なものもありますが、概要には示されていません。

reveng.xml で構成する

必要な変数を追加する

于 2013-07-25T14:49:56.077 に答える
4

「sys」および「INFORMATION」スキーマを除外し、「dbo」スキーマのみを含む「hibernate.reveng.xml」を作成することで、エラーを回避できました。

于 2013-07-11T14:09:09.350 に答える