2013-07-12 40 views
24

当试图使用javax.persistence@Index注释时,Eclipse会给我这个错误。该位置不允许使用注释@Index

我在java.util.Date字段之前使用它,在@Entity注释的类中。

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

的问题开始后,我从4.1.9.Final4.0.1升级休眠核心4.3.0.Beta3休眠公地的注释小号4.0.2。它说@Index已弃用,并建议使用javax.persistence之一。

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

回答

36

的JPA指数注解只能用像@Table@SecondaryTable等其它注释的一部分(见javadoc又见节):

@Table(indexes = { @Index(...) }) 
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; 
} 
+1

我认为这个问题是关于JPA 2.1 @index注释,而不是专有的一个。 – Piohen

相关问题