Hibernate 3.5 @OneToMany注释和PostgreSQL

时间:2012-07-19 13:33:53

标签: hibernate postgresql jpa entity-relationship

我有一个名为article的表,其中包含以下列中的以下列:

文章表:

1)creator_id 2)article_id的(PK) 3).....

article_page table:

1)article_page_id(PK) 2)article_page_number 3)article_id(fk - >文章表)。

我正在使用单向或双向hibernate注释映射,当我试图保存一个包含许多调用save()的article_page对象的文章对象时会出现以下问题:

该文章已插入表格文章中,并生成了新的article_id。但是当试图在article_page表中插入行时,hibernate试图使用表文章中的creator_id而不是article_id。

我已经仔细检查了我的java注释类,我似乎没有发现任何错误。我想知道creator_id是否在PostgreSQL文章表的第1位导致这种奇怪的行为。还是别的什么?

1 个答案:

答案 0 :(得分:0)

好吧,似乎我的表文章的所有列都被认为是自动生成的,因此它们都会在getGeneratedKeys()调用中返回。表文章中列的存在顺序是您可以从GeneratedKeys中检索它们的顺序。在我们的例子中,我的主键是通过getInt(2)返回的,因为它是第二个按顺序。

Hibernate 3.5,因为它似乎在第一列中检索为主键。