¿Cómo se define un campo, por ejemplo, emailque tiene un índice utilizando anotaciones JPA? Necesitamos una clave no única emailporque hay literalmente millones de consultas en este campo por día y es un poco lento sin la clave.
@Entity
@Table(name="person",
uniqueConstraints=@UniqueConstraint(columnNames={"code", "uid"}))
public class Person {
// Unique on code and uid
public String code;
public String uid;
public String username;
public String name;
public String email;
}
He visto una anotación específica de hibernación, pero estoy tratando de evitar soluciones específicas de proveedores, ya que todavía estamos decidiendo entre hibernación y núcleo de datos.
ACTUALIZAR:
A partir de JPA 2.1, puede hacer esto. Ver: La anotación @Index no está permitida para esta ubicación.