我想从我的数据库中为几个表(不是全部)创建一个 Hibernate 映射文件。我怎样才能做到这一点?
当我尝试时,它正在考虑我的整个数据库并在没有创建任何映射文件的情况下崩溃。它给了我以下错误:
org.hibernate.cfg.JDBCBinderException: Duplicate class name 'CheckConstraints' generated for 'org.hibernate.mapping.Table(AG_TXN.sys.check_constraints)'. Same name where generated for 'org.hibernate.mapping.Table(AG_TXN.sys.check_constraints)'
org.hibernate.cfg.JDBCBinderException: Duplicate class name 'CheckConstraints' generated for 'org.hibernate.mapping.Table(AG_TXN.sys.check_constraints)'. Same name where generated for 'org.hibernate.mapping.Table(AG_TXN.sys.check_constraints)'
最佳答案
您需要将您的 reveng.xml
设置为只查看特定的表。 The tutorial you mentioned不包括这个。如果您单击 reveng.xml
旁边的Setup(见该教程的第 3 步),您将通过一个向导来选择您想要的内容。
最后你应该期望有一个像这样的 xml 值限制到你想要的表:
<schema-selection match-schema="COMMON_SCHEMA" match-table="CITY"/>
参见 Red Hat site有关 Hibernate reveng.xml
文件的确切详细信息。
我相信您会遇到该异常,因为两个表具有相同的名称。
关于java - 使用 Hibernate 工具为数据库中的单个表生成 .hbm 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18898064/