给定一个表中的两个字段,我可以创建一个包含这两个字段的索引,如下所示:
@org.hibernate.annotations.Index(name = "IDX_REPORTID_RECNO")
private Integer reportId;
@org.hibernate.annotations.Index(name = "IDX_REPORTID_RECNO")
private Integer recNo;
我可以在每一列上单独创建索引
@org.hibernate.annotations.Index(name = "IDX_REPORTID")
private Integer reportId;
@org.hibernate.annotations.Index(name = "IDX_RECNO")
private Integer recNo;
但它不让我两者都做,这似乎是不允许的
@org.hibernate.annotations.Index(name = "IDX_REPORTID_RECNO")
@org.hibernate.annotations.Index(name = "IDX_REPORTID")
private Integer reportId;
@org.hibernate.annotations.Index(name = "IDX_REPORTID_RECNO")
@org.hibernate.annotations.Index(name = "IDX_RECNO")
private Integer recNo;
我该怎么做?
最佳答案
我认为你可以在类级别指定第二个索引:
@org.hibernate.annotations.Table(indexes =
@org.hibernate.annotations.Index(name = "IDX_REPORTID_RECNO",
columnNames = {"reportId", "recNo"})
)
public class MyEntity {
@org.hibernate.annotations.Index(name = "IDX_REPORTID")
private Integer reportId;
@org.hibernate.annotations.Index(name = "IDX_RECNO")
private Integer recNo;
}
关于java - 你如何使用@index和hibernate在一个字段上放置多个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14395264/