我在实体类上具有以下注释。该数据库是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注释的参数。因此,如果我只想做唯一约束,则可以使用后一个约束,但是如果由于性能原因需要索引,我想拥有索引。