たとえばemail
、JPAアノテーションを使用してインデックスを持つなど、フィールドをどのように定義しますか。email
文字通り何百万ものクエリが1日あたりこのフィールドにあり、キーがないと少し遅いので、一意でないキーをオンにする必要があります。
@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;
}
hibernate固有のアノテーションを見てきましたが、hibernateとdatanucleusの間でまだ決定しているため、ベンダー固有のソリューションを回避しようとしています。
更新:
JPA 2.1以降では、これを行うことができます。参照:この場所ではアノテーション@Indexは許可されていません