Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The annotation @Index is disallowed for this location

When trying to use the @Index annotation from javax.persistence, Eclipse gives me this error.

I'm using it right before a java.util.Date field, inside a class annotated with @Entity.

Before, I was using org.hibernate.annotations.Index in the exact same place and it was fine.

The problem started after I've upgraded hibernate-core from 4.1.9.Final to 4.3.0.Beta3 and hibernate-commons-annotations from 4.0.1 to 4.0.2. It says @Index is deprecated and recommends the javax.persistence one.

All docs and examples I've found put @Index before class members. What am I missing?

like image 882
Victor Basso Avatar asked Jul 12 '13 17:07

Victor Basso


Video Answer


1 Answers

The JPA Index annotation can only be used as part of another annotation like @Table, @SecondaryTable, etc. (see the See Also section in the javadoc):

@Table(indexes = { @Index(...) }) 
like image 158
JB Nizet Avatar answered Oct 07 '22 13:10

JB Nizet