我将Hibernate与Spring和DB2结合使用。我使用序列来生成实体的主键。所有实体都使用相同的序列HIBERNATE_SEQUENCE,这是hibernate的默认设置。问题是最终进入主键的值大约是HIBERNATE_SEQUENCE返回的值的10倍。例如,在将新行插入到tbl之后,会出现这种情况:
select max(id) as primary_key, nextval for hibernat
我正在开发一个现有的应用程序,它使用Hibernate和MySQL将对象存储在数据库中。MySQL和PostgreSQL上工作。我遇到了一个问题,Hibernate不尊重PostgreSQL中的id/auto增量列。当我在数据库中手动插入一行时,PostgreSQL将插入该行并更新序列。据我所知,为了解决这个问题,我必须告诉Hibernate使用具有特定数据库序列的序列生成器,如下所示:
public abstract cl