相关疑难解决方法(0)

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

如何定义字段,例如email使用JPA注释具有索引.我们需要一个非唯一键,email因为每天在这个字段上有数百万个查询,没有密钥它有点慢.

@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;
}
Run Code Online (Sandbox Code Playgroud)

我已经看到了一个特定于hibernate的注释,但我正在尝试避免供应商特定的解决方案,因为我们仍然在决定hibernate和datanucleus之间.

更新:

从JPA 2.1开始,您可以这样做.请参阅:此位置不允许使用注释@Index

java orm hibernate jpa datanucleus

88
推荐指数
5
解决办法
9万
查看次数

此位置不允许使用注释@Index

当试图使用@Index注释时javax.persistence,Eclipse给了我这个错误.

我在一个java.util.Date字段之前使用它,在一个用注释的类中@Entity.

之前,我org.hibernate.annotations.Index在完全相同的地方使用它很好.

在我将hibernate-core4.1.9.Final升级到4.3.0.Beta3并将hibernate-commons-annotation4.0.1升级到4.0.2之后,问题就出现了.它说@Index已弃用并推荐javax.persistence一个.

我发现的所有文档和示例都放在了@Index课堂成员面前.我错过了什么?

java jpa hibernate-annotations

28
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×2

jpa ×2

datanucleus ×1

hibernate ×1

hibernate-annotations ×1

orm ×1