2012-03-01 43 views
0

我正在使用PostgreSQL的休眠休眠Postgres的ID在10秒递增

@Id 
@GeneratedValue(strategy=GenerationType.SEQUENCE) 
@Column(name = "id") 
private Long id; 

问题的ID在10秒产生,例如

10 
20 
30 

一个问题我如何让它

1 
2 
3 
+1

你的序列的增量步骤是什么?不是10吗? – 2012-03-01 00:28:17

回答

0

因为已经指出的那样,你必须使用另一个注释@ javax.persistence.SequenceGenerator 这是我如何做

@Id 
@javax.persistence.SequenceGenerator(name = "order_id_sequence", sequenceName = "order_id_seq", allocationSize = 1) 
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "order_id_sequence") 
@Column(name = "id") 
0

只要你知道,你赢了”因为数据库不能在以下情况下回滚序列:

  1. 会话A从序列中拉出一个数字,比如说1。
  2. 会话B从序列中拉出一个数字2。
  3. 会话A回退其交易。
  4. 会话B提交。

所以,我建议你不要担心它,或者使用不同的方法来产生一系列没有间隙的独特数字。