Мы получили заявленный рабочий исходный код. В коде все классы модели сущностей (hbm2 java) автоматически генерируются Hibernate Tools 4.0.0
(проверяется сгенерированным классом java docs). Мы пытаемся выполнить обратный инжиниринг для создания схемы базы данных из моделей с mysql базой данных.
MySQL: 5.1.46-community MySQL Connector: mysql -connector- java -5.1 .46 Hibernate: Hibernate3
Здесь мы сталкиваемся с множеством ошибок:
Too many key parts specified; max 16 parts allowed
Я вставляю код одного такого класса Entity, для которого мы получаем ошибку выше
@Entity
@Table(name = "ABC")
public class Abc implements java.io.Serializable {
private AbcId id;
public Abc() {
}
public Abc(AbcId id) {
this.id = id;
}
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "a", column = @Column(name = "A", nullable = false)),
@AttributeOverride(name = "b", column = @Column(name = "B", nullable = false, length = 10)),
@AttributeOverride(name = "c", column = @Column(name = "C", nullable = false, length = 2)),
@AttributeOverride(name = "d", column = @Column(name = "D", nullable = false)),
@AttributeOverride(name = "e", column = @Column(name = "E", nullable = false, precision = 12)),
@AttributeOverride(name = "f", column = @Column(name = "F", nullable = false, precision = 12)),
@AttributeOverride(name = "g", column = @Column(name = "G", nullable = false, length = 400)),
@AttributeOverride(name = "h", column = @Column(name = "H", length = 400)),
@AttributeOverride(name = "i", column = @Column(name = "I", nullable = false, length = 1)),
@AttributeOverride(name = "j", column = @Column(name = "J", nullable = false, length = 2)),
@AttributeOverride(name = "k", column = @Column(name = "K", nullable = false, length = 1)),
@AttributeOverride(name = "l", column = @Column(name = "L", nullable = false, length = 100)),
@AttributeOverride(name = "m", column = @Column(name = "M", length = 100)),
@AttributeOverride(name = "n", column = @Column(name = "N", nullable = false, length = 23)),
@AttributeOverride(name = "o", column = @Column(name = "O", nullable = false, length = 100)),
@AttributeOverride(name = "p", column = @Column(name = "P", length = 23)),
@AttributeOverride(name = "q", column = @Column(name = "Q", length = 100)),
@AttributeOverride(name = "r", column = @Column(name = "R", nullable = false, length = 100)) })
public AbcId getId() {
return this.id;
}
public void setId(AbcId id) {
this.id = id;
}
}
Это автоматически созданный класс Hibernate Tools 4.0.0