指定使用JPA的索引(非唯一键)

20 浏览
0 Comments

指定使用JPA的索引(非唯一键)

如何使用JPA注解定义一个字段,例如email作为具有索引的字段。我们需要在email上创建一个非唯一键,因为每天对该字段进行了几百万次的查询,而没有键会有点慢。

@Entity
@Table(name="person", 
       uniqueConstraints=@UniqueConstraint(columnNames={"code", "uid"}))
public class Person {
    // code和uid上是唯一的
    public String code;
    public String uid;
    public String username;
    public String name;
    public String email;
}

我看到了一个特定于Hibernate的注解,但我正在尝试避免供应商特定的解决方案,因为我们还在Hibernate和Datanucleus之间做决定。

更新:

从JPA 2.1开始,您可以这样做。请参见:The annotation @Index is disallowed for this location

0