重命名@UniqueConstraint不起作用

时间:2014-05-13 15:35:08

标签: jpa unique

我有一个实体,我在其中放置一个组合的UniqueConstraint,并尝试使用" name"重命名此约束。属性:

@Entity
@Table(name = "ApplicatifTerminal", uniqueConstraints = @UniqueConstraint(name = "UniqueApplicatifTerminal", columnNames = {
        "idApplicatif", "idTerminal" }))
public class ApplicatifTerminalDo {

........

但是,即使重新生成数据库,约束的名称也不会更改,并保留默认名称" idAttribute"。 我不知道这不是阻塞问题。但我想知道为什么这个属性名称不起作用。

PS:我使用的是hibernate 4.0.1

1 个答案:

答案 0 :(得分:1)

我怀疑它应该被重命名:Hibernate不知道它与之前在另一个部署中生成的约束相同。您必须手动执行此操作。

但是Hibernate应该使用该名称创建一个唯一约束,如果ON TABLE GENERATION不存在。 实际上,它似乎是Hibernate 4.0.1中的一个错误(它仅在新表模式生成时创建第一列的名称约束),这在4.3.0中解决(使用正确的名称创建约束,即使该表已存在)。