У меня есть @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
, но он не подходит для индексов.
Есть идеи? ТИА!