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)。

添加“reven”设置并将输出限制为一个数据库模式。

还从选定的“出口商”中添加必要的参数。有些是必要的,但在概述中没有说明。

使用 reveng.xml 进行配置

添加必要的变量

于 2013-07-25T14:49:56.077 回答
4

我能够通过创建“hibernate.reveng.xml”来避免错误,其中我排除了“sys”和“INFORMATION”模式,只包含“dbo”模式。

于 2013-07-11T14:09:09.350 回答
1

作为对 Daniil Shevelev 的继续回答(这对我有用)为了排除架构添加新的 reveng.xml 然后选择新的并在下一个屏幕上单击下一步 - 然后单击按钮上的刷新(需要一些时间来获取架构) 然后站在相关方案上并排除它 看这里的图片

于 2018-02-04T11:32:03.537 回答