Как вы определяете поле, например email
как имеющее индекс, используя аннотации JPA. Нам нужен не уникальный ключ на email
, потому что в этом поле в буквальном смысле миллионы запросов в день, и он немного медленнее без ключа.
@Entity
@Table(name="person",
[email protected](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;
}
Я видел аннотацию спящего режима, но я стараюсь избегать конкретных решений для поставщиков, поскольку мы все еще решаем между спящим и datanucleus.
UPDATE:
Как и в JPA 2.1, вы можете это сделать. См.: Аннотации @Index запрещены для этого местоположения