0
我們在2個負載平衡服務器上部署了Spring 3 + Hibernate應用程序。Spring 3應用程序中的Hibernate @SequenceGenerator問題
50個插入數據庫之後,hibernate不會調用數據庫序列nextval,它會連續遞增計數。由於這一點,來自兩個服務器的序列值都是重疊的,我得到了「唯一約束違例」異常。
E.g.假設第一次來自兩臺服務器的序列值分別是100和150。當第一個實例的序列達到149時,它應該調用seq.nextVal。但是,由於它不這樣做,並不斷增加seq值到其他實例使用的150,並且它失敗。 默認分配大小:50
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CUSTOMER_ID_SEQ")
@SequenceGenerator(name = "CUSTOMER_ID_SEQ", sequenceName = "CUSTOMER_SEQ")
@Column(name = "CUST_ID", unique = true, nullable = false)
public long getCustId() {
return custId;
}
在此先感謝。