尝试使用@Index
中的javax.persistence
注释时,Eclipse会给我这个错误。
我在java.util.Date
字段之前使用它,在使用@Entity
注释的类中。
之前,我在同一个地方使用org.hibernate.annotations.Index
,一切都很好。
我将 hibernate-core 从 4.1.9.Final 升级到 4.3.0.Beta3 和 hibernate-commons-annotation 从 4.0.1 到 4.0.2 。它表示@Index
已弃用,建议使用javax.persistence
。
我发现的所有文档和示例都将@Index
放在了班级成员之前。我错过了什么?
答案 0 :(得分:39)
JPA索引注释只能用作@Table
,@SecondaryTable
等其他注释的一部分(请参阅javadoc中的另请参阅部分):
@Table(indexes = { @Index(...) })
答案 1 :(得分:0)
使用它:
@Table
.......,indexes = @Index(columnList = ("COLUMN_NAME"),name="CUSTOM NAME AT INDEX",unique=false)
......
答案 2 :(得分:-1)
如果您使用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;
}