我在继承和索引名称生成方面遇到了问题。例如:多个抽象类,它们相互继承。
@Entity
public abstract class LongClassName1 implements Serializable {
...
@Index(name = "externalIdIndex")
String externalId;
...
}
@Entity
public abstract class LongClassName2 extends LongClassName1 { ... }
@Entity
public abstract class LongClassName3 extends LongClassName2 { ... }
@Entity
public abstract class LongClassName4 extends LongClassName3 { ... }
@Entity
public class LongClassName5 { ... }
现在 Hibernate 会生成一个类似的索引LongClassName5LongClassName4LongClassname3LongClassname2externalIdIndex
,这会导致类似的错误消息Identifier name 'LongClassName5LongClassName4LongClassname3LongClassname2externalIdIndex' is too long
我尝试了多种休眠命名策略,并且自己也覆盖了这些方法,但到目前为止没有任何效果。
我正在使用 JBoss 7.1.1 附带的休眠版本。
主键的自动生成索引没有问题。
任何想法我接下来可以做什么?