2012-03-01 82 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提交。

所以,我建議你不要擔心它,或者使用不同的方法來產生一系列沒有間隙的獨特數字。