我对postgres和jpa中的顺序有问题。
Caused by: javax.persistence.EntityExistsException:
Exception Description: The sequence named [shp_users_seq] is setup incorrectly. Its increment does not match its pre-allocation size.
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:443)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:269)
at base.data.provider.beans.session.DAOImpl.createUser(DAOImpl.java:18)发布于 2012-02-29 13:18:15
规则是:序列的增量大小是jpa中allocationSize的值:我有这样的设置:这是错误的:
@SequenceGenerator(name = "User_Seq_Gen",
sequenceName = "shp_users_seq", allocationSize=999)根据以下内容进行更正:
@SequenceGenerator(name = "User_Seq_Gen",
sequenceName = "shp_users_seq" ,allocationSize=1)因为序列的增量大小是1:
shopper=> \d shp_users_seq;
Sequence "public.shp_users_seq"
Column | Type | Value
---------------+---------+---------------------
sequence_name | name | shp_users_seq
last_value | bigint | 1
start_value | bigint | 1
increment_by | bigint | 1
max_value | bigint | 9223372036854775807
min_value | bigint | 1
cache_value | bigint | 1
log_cnt | bigint | 0
is_cycled | boolean | f
is_called | boolean | t发布于 2012-02-28 20:58:25
尝试将序列的起始值设置为至少与用于@SequenceGenerator注释的属性allocationSize的大小相同的值。
CREATE SEQUENCE seq_name
...
START WITH 100;有关这方面的详细信息,请参阅http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg03461.html。
https://stackoverflow.com/questions/9477999
复制相似问题