Java 多对多复杂hibernate映射
我有这样一个DB场景 基表:Java 多对多复杂hibernate映射,java,hibernate,Java,Hibernate,我有这样一个DB场景 基表: STUDENT (student_id, name) SPORT (sport_id, name) SPORT_SUB (sport_sub_id, name) SPORT_CATEGORY (sport_id, sport_sub_id, sport_category_id) STUDENT_SPORT_CATEGORY (student_id, sport_category_id) 多对多映射表: STUDENT (student_id, name)
STUDENT (student_id, name)
SPORT (sport_id, name)
SPORT_SUB (sport_sub_id, name)
SPORT_CATEGORY (sport_id, sport_sub_id, sport_category_id)
STUDENT_SPORT_CATEGORY (student_id, sport_category_id)
多对多映射表:
STUDENT (student_id, name)
SPORT (sport_id, name)
SPORT_SUB (sport_sub_id, name)
SPORT_CATEGORY (sport_id, sport_sub_id, sport_category_id)
STUDENT_SPORT_CATEGORY (student_id, sport_category_id)
有谁能建议一种使用hibernate映射此场景的方法吗。我使用Hibernate工具和eclipse生成了POJO和hbm文件,并获得了成功。但是,当我试图将Sport和Sport Sub插入db时,出现了以下例外情况:
Foreign key (FK4979B7EDEB6823:student_sport_category [sport_category_id])) must have same number of columns as the referenced primary key (sport_category [sport_ID,sport_sub_ID])
如有任何建议,将不胜感激。谢谢(受够了这个问题……)我认为不应该使用hibernate的多2多映射。而是创建一个连接表(sporters左右,带有学生id和运动id)。
使用2个以上的一对多关系。您可以发布您的hbm文件以及用于插入Sport和Sport Sub的代码吗?