我hibernate-entitymanager
在 Spring 应用程序中使用。我正在升级我的 Hibernate 版本。将其缩小到确切版本:当我从 4.2.1.Final 升级到 4.2.2.Final (或更高版本)时,当我的单元测试启动并尝试创建数据库时,我收到以下错误架构:
2014-03-02 18:02:51,559 ERROR [SchemaExport] [main] HHH000389: Unsuccessful: alter table Incident add constraint FK_d91dua6gkdp1jn826adqss3aq foreign key (uuid) references Incident
2014-03-02 18:02:51,559 ERROR [SchemaExport] [main] Constraint "FK_D91DUA6GKDP1JN826ADQSS3AQ" already exists; SQL statement:
alter table Incident
add constraint FK_d91dua6gkdp1jn826adqss3aq
foreign key (uuid)
references Incident [90045-170]
该错误不会阻止系统正常工作,但显然我无法在我的系统中出现如此严重的错误并且没有任何解释的情况下进行生产。
这看起来很像Incident
表与自身有外键关系,但绝对不是这样。
我将尝试在此处复制实体的本质:Incident
@Entity
@Audited
@EntityListeners(value = {IncidentIdentifierPrePersistListener.class })
@FilterDefs( ... )
@Filters( ... )
public class Incident extends SomeBaseClass {
@Id
private String uuid = UUID.randomUUID().toString();
@Column(nullable = false, unique = true)
private long identifier;
... a bunch more fields ...
}
请让我知道我是否可以提供其他任何东西来帮助你们阐明这一点。我已经玩了几个小时,没有结果,非常感谢您的帮助。