2013-07-12 76 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

相關問題