我有这样的数据库场景;
基表:
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映射此方案的方法。我使用带有eclipse的Hibernate工具生成了POJO和hbm文件,但它很成功。但是当我尝试将一个Sport和Sport Sub插入数据库后,会出现以下异常:
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])
任何建议都将受到高度赞赏。谢谢。 (厌倦了这个问题..)
答案 0 :(得分:0)
嗯,我认为你不应该使用hibernate的2-many-many映射。而是创建一个联结表(运动员左右,带有student_id和sport_id)。 使用2个以上的一对多关系。