Hibernate使用复合键映射多对多

时间:2012-09-12 09:57:16

标签: hibernate mapping many-to-many composite-primary-key

我有这些表(使用这些主键):

资源 - idResource(PK) - idResLanguage(PK)

代码 - idTag(PK)

Resources_Tags - idResource(PK) - idTag(PK)

有没有办法映射这些表只引用 Resources_Tags 表中的字段“idResource”?

我问这个是因为如果我在Eclipse上对Hibernate进行逆向工程时没有将idResLanguage放在 Resources_Tags 表中,则会抛出此错误:

“MappingException:外键必须与引用的主键具有相同的列数”

1 个答案:

答案 0 :(得分:0)

如果idResource足以唯一标识资源,那么它应该是主键,而idResLanguage不应该是主键的一部分。

如果它不足以唯一地标识资源,那么您需要在连接表中使用它,否则它不会将一个资源映射到一个标记,而是使用一个标记映射许多资源。