将这些@Table(iniqueConstraints)和@Table(indexes)注释相同?

问题描述 投票:0回答:1
当在JPA / Hibernate中创建索引时,这些是完全相同的吗?

@Table (uniqueConstraints = @UniqueConstraint (columnNames = {"series", "date"}))

和:

@Table (indexes = {@Index (name = "idx", columnList = "series, date", unique = true)})

如果没有,有什么区别?

hibernate jpa hibernate-annotations database-indexes jpa-annotations
1个回答
1
投票
@UniqueConstraint

@Index
只是方言/db敏感的模式生成工具的提示。您的具体示例可能会为大多数DB提供商生成相同的索引DDL。 两者之间的一般区别在于,您可以在不执行唯一性的情况下为列索引。当然,如果您不使用JPA/Hibernate模式gen产生模式,则两者都是无关紧要的。如果您一般需要对索引或模式进行更多控制,则可能需要考虑诸如
liquibase
Flyway的工具。
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.