2011-06-16 185 views
2

我有像下面的实体,但不能取消为什么当我添加新的记录,生成的ID是50,51,52 ...如果select nextval('seq_text');返回1523,1524 ...数据库:PostgreSQL的。 有问题吗?休眠:@GeneratedValue不起作用?

@Entity 
@SequenceGenerator(name = "seq_text", sequenceName = "seq_text") 
public class Text { 

    @Id 
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_text") 
    private Integer id; 
    ... 
}  
+0

你是什么seq_text序列的定义是什么?你有缓存参数指定? – Olaf 2011-06-16 21:01:21

+0

在db上检查高速缓存 - > 1 – marioosh 2011-06-17 04:12:34

回答

4

看来您使用的声明是使用HiLo生成器。 这里是一个讨论和解决方法: http://community.jboss.org/thread/107819?tstart=0

提出的解决方法是

@SequenceGenerator(name = "seq_text", sequenceName = "seq_text", allocationSize=1) 
+0

你说得对。现在为我工作:)谢谢。 – marioosh 2011-06-17 04:09:32