6

在我的场景中,我有一个模式生成脚本来创建表和所需的索引。我想知道是否还需要@Index在休眠实体中定义注释,如果是,为什么?

脚本:

create table issues (id, project_id, .., status_id)

create index idx_issues_projid on issues (project_id)

实体:

@Table(name="issues")
public class DBIssue {

..
  @ManyToOne(fetch = FetchType.EAGER)
  @JoinColumn(name = "PROJECT_ID")
  @Index(name="INDEX_TFW_ISSUE_PROJECT_ID")
  private DBProject project;
}

休眠配置:

<property name="hibernate.hbm2ddl.auto">off</property>

4

1 回答 1

7

我想您是在询问 Hibernate@Index注释,它基本上已导入 JPA 2.1。您可以@Index在任何地方使用,否则会主动告诉关系数据库对列进行索引,主要是在您知道将进行大量查找的字段上。例如,在这种情况下,您可能想要“选择DBIssue属于特定DBProject频率的 s,因此在包含DBIssue.

于 2013-09-25T11:17:21.130 回答