30

尝试使用来自 的@Index注释时javax.persistence,Eclipse 给了我这个错误。

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

以前,我org.hibernate.annotations.Index在完全相同的地方使用,它很好。

在我将hibernate-core4.1.9.Final升级到4.3.0.Beta3hibernate-commons-annotation4.0.1升级到4.0.2之后,问题就开始了。它说@Index已弃用并推荐该javax.persistence版本。

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

4

3 回答 3

44

JPA Index 注释只能用作另一个注释的一部分,如@Table,@SecondaryTable等(请参阅javadoc中的另见部分):

@Table(indexes = { @Index(...) })
于 2013-07-12T17:17:04.550 回答
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)
......
于 2017-10-19T22:22:41.233 回答
0

如果您使用Eclipselink,您可以将此导入添加到您的课程中:

import org.eclipse.persistence.annotations.Index;

然后@Index像这样将您添加到您的字段中:

public class FooClass {
   @Index
   int field1;
}

或者

@Index(columnNames = {"field1", "field2"})
public class FooClass {       
   int field1;
   int field2;
}
于 2014-04-26T02:28:46.817 回答