Hibernate Tools:外键映射到两个不同的表时的异常

时间:2015-02-19 19:15:13

标签: java hibernate db2 hibernate-tools

我正在针对DB2数据库运行Hibernate Tools,该数据库允许在两个不同的表中使用相同的外键名称,每个表都与另一个表中的相同PK相关。当该工具尝试读取架构时,它会引发以下异常:

org.jboss.tools.hibernate.spi.HibernateException: Foreign key name (EXECUTION_FK) mapped to different tables! previous: org.hibernate.mapping.Table(PURGE_EXECUTION_TRACKING) current:org.hibernate.mapping.Table(PURGE_SCENARIO_TRACKING)
    at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter$2.execute(LazyDatabaseSchemaWorkbenchAdapter.java:138)
    at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
    at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:108)
    at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.readDatabaseSchema(LazyDatabaseSchemaWorkbenchAdapter.java:125)
    at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.getChildren(LazyDatabaseSchemaWorkbenchAdapter.java:65)
    at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:104)

应该可以重命名其中一个FK,但这是一个大型数据库,似乎存在很多这些冲突。

有没有人在Hibernate中找到一个解决方法,允许在不阻塞异常的情况下读取架构?

我还没有找到一个配置参数来关闭此检查,或者任何可以解决此问题的类重写。如果可以忽略此异常,Hibernate工具是否能够执行其逆向工程功能还不清楚。

1 个答案:

答案 0 :(得分:0)

在本主题中可以看到:

https://forum.hibernate.org/viewtopic.php?f=6&t=948998&view=next

休眠工具在管理具有相同名称的不同表中的外键时遇到问题。我认为第一种选择是重命名这些外键。

对不起。