У меня есть @MappedSuperClass (упрощенный пример):
@MappedSuperclass
public abstract class MySuperClass {
@Id
@GeneratedValue
private long id;
@Column(nullable = false)
private Date creationDate;
// ...
}
и конкретный Entity (упрощенный пример):
@Entity
public class MyEntity extends MySuperClass {
@Index(name = "IDX_MYINDEX")
@Column(nullable = false)
@Enumerated(EnumType.STRING)
private MyType type;
@Index(name = "IDX_MYINDEX")
@Column(nullable = false)
@Enumerated(EnumType.STRING)
private MyResult status;
// ...
}
Теперь мне нужен индекс, включающий столбцы MySuperClass.creationDate, MyEntity.status и MyEntity.type.
Если я добавлю @Index(name = "IDX_MYINDEX") в MySuperClass.creationDate, то hibernate добавит индекс creationDate для каждой сущности, унаследованной от MySuperClass.
Я пробовал @AttributeOverride, но он не подходит для индексов.
Есть идеи? ТИА!