@Table (uniqueConstraints = @UniqueConstraint (columnNames = {"series", "date"}))
和:
@Table (indexes = {@Index (name = "idx", columnList = "series, date", unique = true)})
如果没有,有什么区别?
@UniqueConstraint
和
@Index
只是方言/db敏感的模式生成工具的提示。您的具体示例可能会为大多数DB提供商生成相同的索引DDL。 两者之间的一般区别在于,您可以在不执行唯一性的情况下为列索引。当然,如果您不使用JPA/Hibernate模式gen产生模式,则两者都是无关紧要的。如果您一般需要对索引或模式进行更多控制,则可能需要考虑诸如liquibase或Flyway的工具。