我正在尝试使用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)'
答案 0 :(得分:13)
开发用户通常可以访问具有类似表的多个数据库模式。 生成工具尝试为所有这些数据库生成输出,这会导致重复的类名称(即使您要求生成ddl)。
添加'reveng'设置并将输出限制为一个数据库架构。
还从所选的“出口商”中添加必要的参数。有些是必要的,但概述中未说明这一点。
答案 1 :(得分:4)
我能够通过创建“hibernate.reveng.xml”来避免错误,其中我排除了“sys”和“INFORMATION”模式,并且只包含“dbo”模式。
答案 2 :(得分:1)