不允许使用此位置的批注@Index

2022-09-01 11:51:53

当尝试使用 来自 的注释时,Eclipse 会给我这个错误。@Indexjavax.persistence

我在字段之前使用它,在一个用.java.util.Date@Entity

以前,我在同一个地方使用,这很好。org.hibernate.annotations.Index

这个问题始于我将hibernate-core4.1.9.Final升级到4.3.0.Beta3hibernate-commons-annotations从4.0.1升级到4.0.2之后。它说已弃用并推荐一个。@Indexjavax.persistence

我发现的所有文档和示例都放在类成员之前。我错过了什么?@Index


答案 1

JPA 索引注释只能用作另一个注释(如 、 等)的一部分(请参阅 javadoc 中的“另请参阅”部分):@Table@SecondaryTable

@Table(indexes = { @Index(...) })

答案 2

请参阅此处:https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#annotations-jpa-index

使用这个:

@Table 
.......,indexes = @Index(columnList = ("COLUMN_NAME"),name="CUSTOM NAME AT INDEX",unique=false)
......

推荐