Hibernate Tools Дублирующая ошибка класса при обратном проектировании

Я пытаюсь реконструировать SQL Server 2005 с помощью Hibernate Tools и получаю странную ошибку:

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

person Daniil Shevelev    schedule 11.07.2013    source источник


Ответы (3)


Пользователь-разработчик обычно имеет доступ к нескольким схемам базы данных с похожими таблицами. Инструмент генерации пытается сгенерировать выходные данные для всех этих баз данных, и это приводит к дублированию имен классов (даже если вы запрашиваете генерацию ddl).

Добавьте настройку «месть» и ограничьте вывод одной схемой базы данных.

Также добавьте необходимые параметры из выбранных «Экспортеров». Некоторые из них необходимы, но это не указано в обзоре.

Настроить с помощью reveng.xml

Добавить необходимые переменные

person Dimitri Dewaele    schedule 25.07.2013
comment
Что мне делать после нажатия Добавить свойство экспортера? что я должен дать для значений ?? - person KingFeming; 07.10.2014
comment
Выбор конкретного Database Schema сработал для меня! - person Arpit Aggarwal; 23.08.2016

Мне удалось избежать ошибки, создав «hibernate.reveng.xml», в котором я исключил схемы «sys» и «INFORMATION» и включил только схему «dbo».

person Daniil Shevelev    schedule 11.07.2013
comment
Как вы исключили схему, пожалуйста? Я пытаюсь в NB8.02, даже с явной схемой и явными таблицами, все еще получаю «validname.CheckConstraints на db.sys.check_constraint. - person cp.; 08.04.2017

в качестве продолжения ответа Даниила Шевелева (это то, что сработало для меня), чтобы исключить схему, добавьте новый reveng.xml, затем выберите новый и на следующем экране нажмите «Далее», затем нажмите «Обновить» на кнопке (требуется некоторое время, чтобы получить схемы ) затем встаньте на соответствующую схему и исключите ее см. картинку здесь

person RMagen    schedule 04.02.2018