请查看我的应用configuration。正如答案中标出的那样,由于EclipseLink的错误,我已将目标数据库更改为“数据库”。我的实体ID上有@GeneratedValue(strategy = GenerationType.IDENTITY)。在数据库中,此列是串行类型。当我尝试将新对象保存到数据库时,我得到以下日志:
显然有些事情是错的。你有什么想法吗?2015-11-08T23:37:20.748 + 0100 | Finer:客户获得者:133317409 2015-11-08T23:37:20.760 + 0100 | Finer:TX绑定到tx mgr,status = MARKED_ROLLBACK 2015-11-08T23:37:20.761 + 0100 |更好:获得工作单位:1890544759 2015-11-08T23:37:20.762 + 0100 |最好:调用persist()操作:com.amleto.server.model.entities.FacebookDebug@7e0498c2。 2015-11-08T23:37:20.763 + 0100 | Finer:TX beginTransaction,status = MARKED_ROLLBACK 2015-11-08T23:37:20.764 + 0100 |最好:执行查询DataModifyQuery(name =“SEQ_GEN_IDENTITY”sql =“UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + #PREALLOC_SIZE WHERE SEQ_NAME = #SEQ_NAME”) 2015-11-08T23:37:20.766 + 0100 |最好:从连接池[默认]获取连接。 2015-11-08T23:37:20.767 + 0100 |最好:重新连接到外部连接池 2015-11-08T23:37:20.771 + 0100 |精细:更新序列集SEQ_COUNT = SEQ_COUNT +?在哪里SEQ_NAME =? bind => [1,SEQ_GEN_IDENTITY] 2015-11-08T23:37:20.883 + 0100 |警告:本地异常堆栈: 异常[EclipseLink-4002](Eclipse Persistence Services - 2.6.1.v20150605-31e8258):org.eclipse.persistence.exceptions.DatabaseException 内部异常:org.postgresql.util.PSQLException:错误:关系“序列”不存在 职位:8 错误代码:0 调用:UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT +?在哪里SEQ_NAME =? bind => [1,SEQ_GEN_IDENTITY]
答案 0 :(得分:0)
您之前问题的解决方案不是解决方案,应重新审核。使用'数据库'通用平台意味着您无法利用PostgreSQL的数据库特定功能,例如身份,并且默认为内部尚未创建的序列。
除非你愿意创建一个序列,否则唯一的方法就是设置。