jpa-postgresql唯一索引注释定义改为使用唯一约束

时间:2018-11-07 17:32:39

标签: postgresql hibernate jpa

我在实体类上具有以下注释。该数据库是postgresql。不幸的是,这会创建具有唯一约束而不是唯一索引的表。

@Entity
@Immutable
@Table(
        indexes = {
          @Index(name = "MasterT75_unique_idx", columnList = "productdivision, giccode", unique = true)
        }
)
public class MasterT75 extends ModelBaseValidate<MasterT75> {
...
}

我发现,它很好地描述了唯一约束和索引的区别。 https://www.postgresql.org/message-id/CAO8h7BJMX5V1TqzScTx2Nr1jH5iUFG8A071y-g1b_kdzpu9PDw%40mail.gmail.com

但是我还是不明白,为什么休眠也不能创建索引(好的,不是唯一的)。因为有

uniqueConstraints = {}
@Table注释的

参数。因此,如果我只想做唯一约束,则可以使用后一个约束,但是如果由于性能原因需要索引,我想拥有索引。

0 个答案:

没有答案