Hibernate Tools "Duplicate class" error on reverse engineering

Daniil Shevelev picture Daniil Shevelev · Jul 11, 2013 · Viewed 7.9k times · Source

I am trying to reverse engineer a SQL Server 2005 using Hibernate Tools and am getting a strange error:

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‌​)'

Answer

Dimitri Dewaele picture Dimitri Dewaele · Jul 25, 2013

A development user has typically access to multiple database schema s with similar tables. The Generation tool tries to generate output for all those databases and this results in duplicate class names (even if you ask for ddl generation).

Add a 'reveng' setup and limit the output to one database schema.

Also add necessary parameters from the selected 'Exporters'. Some are necessary, but this is not indicated in the overview.

Configure with reveng.xml

Add necessary variables