【发布时间】:2012-07-19 13:33:52
【问题描述】:
我有一个名为 article 的表格,其中包含按以下顺序排列的以下列:
文章表:
1)creator_id 2)article_id(pk) 3).....
article_page 表:
1)article_page_id(pk) 2)article_page_number 3)article_id(fk --> 文章表)。
我正在使用单向或双向休眠注释映射,当我尝试保存具有许多调用 save() 的 article_page 对象的文章对象时会出现以下问题:
文章被插入到表article中,并生成了一个新的article_id。但是当尝试在 article_page 表中插入行时,hibernate 会尝试使用表 article 中的 creator_id 而不是 article_id。
我已经仔细检查了我的 java 注释类,我似乎没有发现任何错误。我想知道 creator_id 是否在 PostgreSQL 文章表的位置 1 导致这种奇怪的行为。还是别的什么?
【问题讨论】:
-
顺序不重要,你的注释肯定有问题——你能发布一些你的代码吗?
-
我尝试了更多使用纯 JDBC 而不是休眠。 getGeneratedKeys() 调用返回一个结果集,其中 getInt(1) 内容不是我的主键列 (article_id),而是列 creator_id。对我来说听起来像是一个 postgresql 问题?
标签: hibernate postgresql jpa entity-relationship