报错!Hibernate联合主键问题?

lizhenyang 2009-11-12 12:31:35
4个表,用户表:user(userID、userName),用户组:group(groupID、ownerID),标签表:label(labelID、labelName),用户组分类:category(groupID、ownerID、cateID)。

表关系图:

使用 hibernate-3.3.2.GA + HibernateSynchronizer-3.1.9

出错提示:
Messages:
Foreign key (FK302BCFEBC02C5B5:category [groupID])) must have same number of columns as the referenced primary key (group [ownerID,groupID])
File: org/hibernate/mapping/ForeignKey.java
Line number: 113

请教怎么解决这个问题!多谢多谢!
...全文
176 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhenyang 2009-11-14
  • 打赏
  • 举报
回复
这个问题这么没有吸引力吗?高手帮帮忙啊。谢谢!
lizhenyang 2009-11-12
  • 打赏
  • 举报
回复
Category.hbm.xml文件:
<hibernate-mapping package="models">
<class name="Category" table="category">
<meta attribute="sync-DAO">true</meta>
<composite-id>
<key-many-to-one name="groupID" class="Group" column="groupID" />
<key-many-to-one name="ownerID" class="Group" column="ownerID" />
<key-many-to-one name="cateID" class="Label" column="cateID" />
</composite-id>
</class>
</hibernate-mapping>

Group.hbm.xml文件:
<hibernate-mapping package="models">
<class name="Group" table="group">
<meta attribute="sync-DAO">true</meta>
<composite-id>
<key-many-to-one name="groupID" class="Label" column="groupID" />
<key-many-to-one name="ownerID" class="User" column="ownerID" />
</composite-id>
</class>
</hibernate-mapping>
lizhenyang 2009-11-12
  • 打赏
  • 举报
回复
用户user可以创建用户组group,组的名字存放在标签lable里,用户组group下可以有若干类别category,类别category的名字也存在标签label里。
实例:用户u01,创建两个群组g01、g02,群组g01里有两个分类c01、c02,群组g02里有三个分类g02、g03、g04。用户u02,创建一个群组g03,群组g03里有两个分类c01、c04。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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