0

我对具有相同列名的复合主键和外键有问题。

例子

表 A PK (ID , NEW_ID)

表 B PK (ID, NEW_ID) FK (A_ID, NEW_ID)

我以这种方式将实体 B 的关系映射到 A

@ManyToOne
@JoinColumns({@JoinColumn(name = "A_ID", referencedColumnName = "ID"),
    @JoinColumn(name = "NEW_ID", referencedColumnName = "NEW_ID")})

当我尝试保存 B 时,我收到了无效索引的错误。

所以我猜它也试图设置 NEW_ID 两次并得到这个错误。

我没有选择将一列设置为可插入和可更新为假。

任何人都可以帮助我吗

4

1 回答 1

0

我可以分享的一个技巧是 make thehibernate.hbm2ddl.auto=create并查看 hibernate 正在做什么,这将帮助您调试,而且 make the show_sql=true,您一定会了解此配置将导致什么结果。

注解使用详情请参考http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html/entity.html

谢谢阿比

于 2013-07-16T17:38:38.130 回答