在每个部署上创建复合唯一索引

时间:2013-05-21 06:40:40

标签: mysql spring hibernate spring-mvc jpa

我正在使用Spring 3.2和Hibernate 4.2.1.Final和MySql 5.5。

每次重新加载我的webapp时,hibernate都会为我的实体创建一个新的复合唯一索引。

例如,在我的实体中,我有:

@Table(uniqueConstraints = {@UniqueConstraint(columnNames = {“field1”,“field2”})})

在每个部署中,我在这两个字段上都有一个新的唯一索引。

这是一个错误吗?

谢谢 马可

1 个答案:

答案 0 :(得分:2)

您必须提供复合唯一索引键的名称

例如:

@Table(uniqueConstraints = { @UniqueConstraint(name="field1_field2_unique_key", columnNames = { "field1", "field2" }) })

这里复合唯一索引键名是:field1_field2_unique_key