Hibernate 3.5@OneToMany注释和PostgreSQL
我有一个名为article的表,按以下顺序列出了以下列: 条款表: 1) 创建者id 2) 物品识别码(pk) 3) 第11页表格: 1) 文章页面id(主键) 2) 文章页码 3) 项目id(fk-->项目表) 我使用单向或双向hibernate注释映射,当我试图保存一个包含多个调用save()的article_页面对象的article对象时,会出现以下问题: 将项目插入表项目中,并生成新的项目id。但是当尝试在article_页面表中插入行时,hibernate尝试使用表article中的创建者id而不是article idHibernate 3.5@OneToMany注释和PostgreSQL,hibernate,postgresql,jpa,entity-relationship,Hibernate,Postgresql,Jpa,Entity Relationship,我有一个名为article的表,按以下顺序列出了以下列: 条款表: 1) 创建者id 2) 物品识别码(pk) 3) 第11页表格: 1) 文章页面id(主键) 2) 文章页码 3) 项目id(fk-->项目表) 我使用单向或双向hibernate注释映射,当我试图保存一个包含多个调用save()的article_页面对象的article对象时,会出现以下问题: 将项目插入表项目中,并生成新的项目id。但是当尝试在article_页面表中插入行时,hibernate尝试使用表article中的
我仔细检查了我的java注释类,似乎没有发现任何错误。我想知道creator_id是否位于PostgreSQL文章表的第1位导致了这种奇怪的行为。还是其他原因?好的,我的表格文章中的所有列都被认为是自动生成的,因此它们都会在getGeneratedKeys()调用中返回。列在表项目中的存在顺序是您可以从GeneratedKeys检索它们的顺序。在我们的例子中,我的主键是通过getInt(2)返回的,因为它是第二个顺序
Hibernate 3.5似乎将第一列作为主键检索。顺序不重要,您的注释一定有问题-您可以发布一些代码吗?我尝试了使用纯JDBC而不是Hibernate。getGeneratedKeys()调用返回一个结果集,其中getInt(1)内容不是我的主键列(article_id),而是列创建者_id。听起来像是postgresql问题?