再次请教Hibernate的关联问题,急啊!!

漫游太空 2008-05-16 11:06:59
举个例子问:
比如,我在数据库里设置4个表,student(id,name)course(id,name),选课表:sc(id,course_id,student_id,
homework(id,sc_id)
student与course是多对多关系,sc与homework是一对多关系(一门课可有多次作业).
现在在Hibernate配置关联,我在student和course之间配置了多对多的关联关系,其中关联表为sc,
在sc和homework配置一对多的关联关系,4个表都有设置id主键
分别建立4个映射文件student.hbm.xml,course.hbm.xml,sc.hbm.xml,homework.hbm.xml,

现在我的问题是:在进行多对多关联时,一般关联表sc都不用建立映射文件,但我由于sc表还要配置一对多关联,所以建了映射文件,请问这样的设计是否有问题?
因为我有一个类似的设计运行后报以下异常:
org.hibernate.MappingException: Foreign key (FK99C1A7DB17E1C3EB:homework [sc_id])) must have same number of columns as the referenced primary key (sc [course_id,user_id])
但实际上我在数据库设置homework[sc_id]这个外键引用的是sc的主键id,而不是[course_id,user_id].

急等各位前辈赐教啊!!!
...全文
326 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
afeng848 2012-08-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 5 楼 的回复:

邮件已经发送过去了,查收一下,呵呵

麻烦发我一份,邮件地址:lisheng0624@126com 万分感谢!
[/Quote]

哥们,还有没有也给我来一份,万分感谢,
邮件地址:674854575@qq.com
cqyy725 2012-08-15
  • 打赏
  • 举报
回复
从库反相生成不好吗?
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

邮件已经发送过去了,查收一下,呵呵
[/Quote]
麻烦发我一份,邮件地址:lisheng0624@126com 万分感谢!
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 5 楼 bojianyu 的回复:
邮件已经发送过去了,查收一下,呵呵

谢谢bojianyu兄,已收到,
[/Quote]

邮件地址:lisheng0624@126com 万分感谢!
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 5 楼 bojianyu 的回复:
邮件已经发送过去了,查收一下,呵呵

谢谢bojianyu兄,已收到,
[/Quote]

哥们,麻烦发给我看看,我也遇到一模一样的问题了..
bojianyu 2008-05-17
  • 打赏
  • 举报
回复
邮件已经发送过去了,查收一下,呵呵
漫游太空 2008-05-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chenqi3166 的回复:]
sc [course_id,user_id]怎么會出現兩個主鍵哦
[/Quote]

我也觉得不解,我明明设置主键是id,映射文件设置也没问题啊,为什么说sc [course_id,user_id]是主键呢?
水瘦山寒 2008-05-17
  • 打赏
  • 举报
回复
sc [course_id,user_id]怎么會出現兩個主鍵哦
bojianyu 2008-05-17
  • 打赏
  • 举报
回复
"zyts"后面的是小写字母LL,不是数字11,呵呵
bojianyu 2008-05-17
  • 打赏
  • 举报
回复
给我发个邮件zytsll@126.com,给你个小项目看看吧,hibernate数据关联几乎都涉及到了,我设计给学生做练习使用的
liang524 2008-05-17
  • 打赏
  • 举报
回复
学习一下
漫游太空 2008-05-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bojianyu 的回复:]
邮件已经发送过去了,查收一下,呵呵
[/Quote]
谢谢bojianyu兄,已收到,
  Hibernate入门 收藏

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧