0
я борюсь со следующим сценарием:один-ко-многим однонаправленного картографирования с соединением
У меня есть 2 таблицы:
RESULTS (
`L_ID` int(10) unsigned NOT NULL,
`PRIZE` int(10) unsigned NOT NULL,
`SECONDARY_PRIZE` int(10) unsigned NOT NULL,
PRIMARY KEY (`L_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
STATISTICS (
`L_ID` int(10) unsigned NOT NULL,
`F_TYPE` int(10) unsigned NOT NULL,
`RANK` varchar(2) NOT NULL,
`WINNERS` int(10) unsigned NOT NULL,
`PRIZE` int(10) unsigned NOT NULL,
PRIMARY KEY (`L_ID`,`F_TYPE`,`RANK`),
KEY `L_ID_FK_idx` (`L_ID`),
CONSTRAINT `L_ID` FOREIGN KEY (`L_ID`) REFERENCES `RESULTS` (`L_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
И следующие классы:
@Embeddable
public class StatisticId implements Serializable {
@Column(name = "L_ID", unique=false, nullable=false, updatable=true, insertable=true)
private long lId;
@Column(name = "F_TYPE", unique=false, nullable=false, updatable=true, insertable=true)
private int fType;
@Column(name = "RANK_ID", unique = false, nullable = false, updatable = true, insertable = true, length = 2)
private String rankId;
..Getters\Setters...
}
Статистика класс:
@Entity
@Table(name = "STATISTICS", uniqueConstraints = {})
public class Statistic implements Serializable {
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "lId", column = @Column(name = "L_ID", unique = false, nullable = false, insertable = true, updatable = true)),
@AttributeOverride(name = "fType", column = @Column(name = "F_TYPE", unique = false, nullable = false, insertable = true, updatable = true)),
@AttributeOverride(name = "rankId", column = @Column(name = "RANK_ID", unique = false, nullable = false, insertable = true, updatable = true, length = 2))
})
private StatisticId id;
@Column(name = "WINNERS", unique = false, nullable = false, updatable = true, insertable = true)
private long winners;
@Column(name = "PRIZE", unique = false, nullable = false, updatable = true, insertable = true)
private long prize;
}
и, наконец, РЕЗУЛЬТАТ ТАБЛИЦА:
Я использую Hibernate4.3beta с его подключение proxool бассейн.
Исключение я получаю:
org.hibernate.AnnotationException: A Foreign key refering
com.btl.server.database.beans.Statistic from com.btl.server.database.beans.Result has the wrong
number of column. should be 2
Что я делаю отжать ??
Благодарим вас за терпение, читая это!